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

#azure-devops #yaml #azure-pipelines-yaml

Вопрос:

Я хочу передать группу переменных в свой шаблон yaml с заданием развертывания. Можно ли использовать одно из значений из группы переменных в качестве имени среды и имени подключения в задании развертывания?

Мой случай немного сложный, извините за это 😀

 variables:  - group: ServiceVariables  pool: 'My Agent Pool'  extends:  template: /releases/deployment.dev.yml  parameters:  variableGroups:  - Gen2DEVVariables  - PaymentService  

deployment.dev.yml

 parameters:  - name: variableGroups  type: object  default: []  stages:  - stage: Deployment  variables:  - ${{ each value in parameters.variableGroups }}:  - group: ${{ value }}  jobs:  - template: /templates/jobs/deployToKubernetes.yml  parameters:  environmentName: $(azure_environment_name)  dockerRegistryConnection: $(serviceConnection_dockerRegistry)  kubernetesServiceConnection: $(serviceConnection_kubernetes)  variableGroups: ${{ parameters.variableGroups }}  

и разверните файл.yml.

 parameters:  - name: variableGroups  type: object  default: []  - name: environmentName  type: string  values:  - Develop  - Test  - UAT  - Production  - name: dockerRegistryConnection  - name: kubernetesServiceConnection  jobs:  - deployment: ${{ parameters.environmentName }}  environment: ${{ parameters.environmentName }}  variables:  - ${{ each value in parameters.variableGroups }}:  - group: ${{ value }}  strategy:  runOnce:  deploy:  steps:  - download: none  - task: KubernetesManifest@0  displayName: Create Secret  inputs:  action: 'createSecret'  kubernetesServiceConnection: ${{ parameters.kubernetesServiceConnection }}  namespace: 'value'  secretType: 'dockerRegistry'  secretName: 'value'  dockerRegistryEndpoint: ${{ parameters.dockerRegistryConnection }}  - task: KubernetesManifest@0  displayName: Deploy to Kubernetes cluster  inputs:  action: 'deploy'  kubernetesServiceConnection: ${{ parameters.kubernetesServiceConnection }}  namespace: 'value'  manifests: 'value'  

Комментарии:

1. Здесь пара моментов: 1) можете ли вы предоставить какие-либо консольные выходные данные после запуска? компилируется ли это и не работает, или оно не компилируется? 2) на странице редактирования конвейера, после сохранения конвейера, если вы нажмете меню «…» и нажмете «Подтвердить», что вы получите? Если там написано «ОК», снова нажмите это меню и выберите «Загрузить полный YAML» — затем вы сможете увидеть, до чего расширяется шаблон.

2. @WaitingForGuacamole У меня есть информация, что среда $(azure_environment_name) не существует. Когда я удаляю разрешенные значения имени среды из deployToKubernetes. yml У меня есть еще одна ошибка — это задание $(azure_environment_name) недопустимо.

3. Это на самом деле не ответило на то, о чем я просил — вы не предоставляете никаких выходных данных, снимков экрана с ошибками — все, что нам нужно, — это ваша интерпретация происходящего.