Azure Утверждение трубопроводов DevOps YAML с использованием многоступенчатой - PullRequest
0 голосов
/ 22 марта 2020

Я недавно пытался преобразовать наш конвейер релиза на основе UI или Classi c в конвейер релиза на основе YAML.

У нас есть три среды, изначально сборка компакт-диска будет успешно развернута в нашей среде разработки.

Оттуда мы вручную запускаем выпуск (повторное продвижение) для Test, а затем в какой-то момент, если мы все довольны, продвигаем вручную в Production.

Мы знаем, что не можем имитировать c ручное продвижение между этапами релизов, так как оно в настоящее время не поддерживается, но из того, что я прочитал, мы должны быть в состоянии сделать то же самое, определив проверку безопасности для каждой среды, в которой запрашивалось ручное повышение.

Подробности для определения проверок безопасности приведены здесь: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass

С тех пор я добавил ту же проверку безопасности и для Test, и для Production, но выпуски по-прежнему выполняются автоматически.

Существует ли пример того, как процесс одобрения такого типа отображается в новой многоступенчатой ​​YAML? релизы?

До сих пор я добавил группу безопасности в среду тестирования и производства с помощью функции Approval and checks в средах. таб.

Approvals and checks

1 Ответ

1 голос
/ 23 марта 2020

Пожалуйста, проверьте ниже образец YAML:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

stages:

  - stage: build   
    jobs:
      - job: buildjob        
        steps:
          - checkout: none
      - deployment: DeployWeb
        pool:
          vmImage: 'Ubuntu-16.04'
        environment: 'Verify'

  - stage: deploy
    jobs:
      - deployment: DeployWeb
        displayName: deploy Web App
        pool:
          vmImage: 'Ubuntu-16.04'
        environment: 'Verify'
        strategy:
          # default deployment strategy, more coming...
          runOnce:
            deploy:
              steps:
              - script: echo my first deployment

В моем сценарии у меня есть одно имя среды Verify, и я добавил Approvals and Checks для него.

Чтобы применить это Approvals and Checks в вашем многоступенчатом конвейере, вам нужно убедиться, что соответствующая среда была выбрана в YAML.

Еще одна вещь, на которую вам нужно обратить внимание, это то, что до сих пор Environment может быть целью только в deployment job YAML.

Другими словами, только этап, на котором сконфигурирована - deployment: job, может работать с Environment. Также будет работать с environment, добавившим Approvals and Checks.

...