Можем ли мы как-то оценить это до этапа сборки?
Боюсь, нет, это не может быть правдой до сих пор, особенно в вашей компании очень строгие проверки структуры YAML.
До сих пор Environment
может быть только target в deployment job
YAML.
Другими словами, только этап, на котором сконфигурировано задание - deployment:
, может работать с Environment
.
Если политика вашей компании позволяет, на самом деле, здесь можно обойти добавление задания - deployment:
на этап Build
, но оставить шаги пустыми. Пример как это:
- stage: build
jobs:
- job: buildjob
steps:
- checkout: none
- task: oneLuckiGetPostmanScripts@1
inputs:
fileLocation: '$(Build.ArtifactStagingDirectory)/postman'
apiKey: '$(postmankey)'
- deployment: DeployWeb
pool:
vmImage: 'Ubuntu-16.04'
# creates an environment if it doesn't exist
environment: 'Verify'
- stage: test
jobs:
- job: testjob
steps:
- checkout: none
- bash: |
echo $(Build.ArtifactStagingDirectory)/postman
displayName: 'dir'
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-16.04'
# creates an environment if it doesn't exist
environment: 'Verify'
strategy:
runOnce:
deploy:
steps:
- script: echo my first deployment
Это может реально делать то, что вы хотите. Но я боюсь, что ваша политика не допустит этого.