Azure DevOps 传递变量
Azure DevOps Passing Variables
我们正在尝试创建一个 DevOps 管道,我们在第一阶段生成一个字符串,我们希望存储到一个变量中,该变量可以在后续阶段或同一阶段的后续任务中使用,是否有一种方法来做到这一点?为清楚起见,字符串是通过查询外部 api 生成的,其中 returns 是一个字符串值。
希望有道理
提前致谢
年,你应该使用日志记录命令和标记作为输出。 Here you have an example
## azure-pipelines.yml
stages:
- stage: one
jobs:
- job: A
steps:
- task: Bash@3
inputs:
filePath: 'script-a.sh'
name: setvar
- bash: |
echo "##vso[task.setvariable variable=skipsubsequent;isOutput=true]true"
name: skipstep
- stage: two
jobs:
- job: B
variables:
- name: StageSauce
value: $[ stageDependencies.one.A.outputs['setvar.sauce'] ]
- name: skipMe
value: $[ stageDependencies.one.A.outputs['skipstep.skipsubsequent'] ]
steps:
- task: Bash@3
inputs:
filePath: 'script-b.sh'
name: fileversion
env:
StageSauce: $(StageSauce) # predefined in variables section
skipMe: $(skipMe) # predefined in variables section
- task: Bash@3
inputs:
targetType: 'inline'
script: |
echo 'Hello inline version'
echo $(skipMe)
echo $(StageSauce)
我们正在尝试创建一个 DevOps 管道,我们在第一阶段生成一个字符串,我们希望存储到一个变量中,该变量可以在后续阶段或同一阶段的后续任务中使用,是否有一种方法来做到这一点?为清楚起见,字符串是通过查询外部 api 生成的,其中 returns 是一个字符串值。
希望有道理
提前致谢
年,你应该使用日志记录命令和标记作为输出。 Here you have an example
## azure-pipelines.yml
stages:
- stage: one
jobs:
- job: A
steps:
- task: Bash@3
inputs:
filePath: 'script-a.sh'
name: setvar
- bash: |
echo "##vso[task.setvariable variable=skipsubsequent;isOutput=true]true"
name: skipstep
- stage: two
jobs:
- job: B
variables:
- name: StageSauce
value: $[ stageDependencies.one.A.outputs['setvar.sauce'] ]
- name: skipMe
value: $[ stageDependencies.one.A.outputs['skipstep.skipsubsequent'] ]
steps:
- task: Bash@3
inputs:
filePath: 'script-b.sh'
name: fileversion
env:
StageSauce: $(StageSauce) # predefined in variables section
skipMe: $(skipMe) # predefined in variables section
- task: Bash@3
inputs:
targetType: 'inline'
script: |
echo 'Hello inline version'
echo $(skipMe)
echo $(StageSauce)