【发布时间】:2021-10-22 19:28:37
【问题描述】:
基本上,我有 2 个单独的 Azure 管道(CI、CD)。而且,我只为 CI 管道启用了触发器。一旦 CI(构建)管道完成,它应该触发 CD 管道。而且,我在 CI 管道中传递参数和变量。但是,我也想在 CD 管道中使用相同的 CI 参数值。
### CI Pipeline ###
parameters:
- name: environment
displayName: 'Choose Environment'
type: string
default: Dev
values:
- Dev
- Qa
- Stage
- Demo
- Live
variables:
- group: PoC-Web
- group: PoC-Secrets
- name: version
在 CI 管道中,使用环境参数并声明版本变量。现在,我想在 CD 管道中使用这些值。
### CD Pipeline ###
resources:
pipelines:
- pipeline: web-ci
source: PoC-Web-CI
trigger:
branches:
include:
- cicd/azure-pipelines
- develop
stages:
- stage: 'Package_Deploy'
jobs:
- deployment: 'Deploy_to_Server'
environment: 'PoC-Web.PoC_WEB_SERVER'
strategy:
rolling:
deploy:
steps:
- task: CmdLine@2
inputs:
script: |
echo "Fetching CI Pipeline Environment Variables"
echo "Pipeline-ID: $(resources.pipeline.web-ci.pipelineID)"
echo "Source-Commit: $(resources.pipeline.web-ci.sourceCommit)"
echo "Version: $(resources.pipeline.web-ci.version)"
echo "Version: $(resources.pipeline.web-ci.variables.version)"
echo "environment: $(resources.pipeline.web-ci.parameters.environment)"
echo "environment: $(resources.pipeline.web-ci.templateParameters.environment)"
在上面的 CD 管道中,可以得到 pipeline-Id & Source-Commit(即预定义的变量)。但无法获取用户定义的变量和参数值,如版本和参数。
我们将不胜感激。
【问题讨论】:
标签: azure-devops azure-pipelines-yaml