Azure Слот службы приложений и развертывание подкачки с помощью circleci config.yml - PullRequest
0 голосов
/ 28 апреля 2020

Azure Развертывание слота службы приложений с использованием circleci config.yml

Необходимо добавить шаг для развертывания в рабочий или промежуточный слот, а затем изменить конфигурацию, чтобы поменять местами развертывание

Описание: Когда я запускаю этот файл конфигурации, он развертывается в рабочий слот службы приложения azure по умолчанию, но я хочу сначала развернуть его в слот стадии, а затем выполнить обмен.

ниже файла работает нормально, но нужно внести некоторые изменения в конфигурацию, чтобы я мог развернуть его на слоте рабочей площадки и затем заменить его на производственный слот.

Используя Circleci config.yml, ниже приведен мой config.yml

version: 2.1

jobs:
  build:
    docker:
        - image: circleci/node:10.16.3
    steps:

      ## Fetch all release tags
      - checkout
      - run:
          name: Install Node.js dependencies with Npm
          command: npm install
      - run:
          name: Test
          command: CI=true npm run coverage



  dev-deploy:
    machine: true
    steps:
      - checkout
      - run:

          name: create / update infrastructure
          command: |

            docker login -u $REGISTRY_UN -p $REGISTRY_PW $REGISTRY_SERVER

            docker run --rm -it -e TF_VAR_repo_branch=$CIRCLE_BRANCH -e vaultkey=$VAULT_KEY -v `pwd`:/dp/config  dockerimage/dpdeployer:beta-1.0  .dp.yaml



workflows:
  version: 2
  build_and_test_publish:
    jobs:
       - build
      #  - hold: # <<< A job that will require manual approval in the CircleCI web application.
      #      type: approval # <<< This key-value pair will set your workflow to a status of "On Hold"
      #      requires: # We only run the "hold" job when test2 has succeeded
      #       - build

       - dev-deploy:
          requires:

            - build

          filters:
            branches: 
              only : feature/appservice

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Да, это сработало !!! * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.
0 голосов
/ 29 апреля 2020

Хммм, это может быть хорошая ссылка для обзора: Развернуть на Azure из CircleCI

Но, я думаю, все сводится к тому, как вы хотите развернуть свой код в Azure Сервис приложений. Есть много разных способов сделать это. Проверяя ваш конфиг, вы уже используете Docker. Эта ссылка https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image рассказывает о шагах по развертыванию вашего контейнера как службы приложений Azure. Суть в том, что вам нужно настроить WebApp для извлечения из docker реестра на Azure слот приложения .

Затем после успешной сборки сделайте круговые нажатия / пометьте изображение docker в этом реестре. Затем Azure Служба приложений запустит новую версию приложения.

Для перехода между Azure слотами службы приложения вы можете настроить свой circleci pu sh на другие docker теги изображений реестра. , Для этого потребуется настроить каждый слот службы приложений Azure с немного другим конфигом. Например ...

# Dev
  az webapp config container set --name <app-name> --resource-group <rg> --docker-custom-image-name <registry-name>/mydockerimage:$VERSION_FOR_DEV ... 
# Staging
  az webapp config container set --name <app-name> --resource-group <rg> --docker-custom-image-name <registry-name>/mydockerimage:$VERSION_FOR_STAGE ...

В вашей конфигурации circleCI, когда вы настраиваете конвейер между заданиями dev, stage и production. Задания Dev и Stage могут сделать docker нажатий или пометок для вас. И производственная работа делает обмен для вас на последнем этапе. Примерно так ...

prod-deploy:
   steps:
     - run:
        name: swap staging and product slots
        command: az webapp deployment slot swap  -g MyResourceGroup -n MyUniqueApp --slot staging --target-slot production

См. Также: https://docs.microsoft.com/en-us/cli/azure/webapp/deployment/slot?view=azure-cli-latest#az -webapp-deploy-slot-swap

Надеюсь, это поможет ... а я этого не сделал неправильно понять ваш вопрос. ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...