我有很多带有各种变量的bash脚本,这些脚本被传递到各种脚本中。
我一直在想是否可以提取由Azure Pipeline激活的bash脚本的输出,使其成为其余Pipeline运行时的管道变量?
示例:foo=$(date + %Y%m%d_%H%M%S)
输出:20200219_143400,我想获取输出以供以后在管道上使用。
取决于您如何设计管道,可以使用Azure Pipeline变量:
- job: Job1
steps:
- bash: |
$WORKDIR/foo.sh
echo "##vso[task.setvariable variable=foo]$foo"
name: FooStep
- bash: |
$WORKDIR/nextscript.sh $(FooStep.foo)
name: NextScript
# ...
- job: Job1
steps:
- bash: |
$WORKDIR/foo.sh
echo "##vso[task.setvariable variable=foo;isOutput=true]$foo"
name: FooStep
- job: Job2
dependsOn: Job1
steps:
- bash: |
$WORKDIR/job2script.sh $[ dependencies.Job1.outputs['FooStep.foo'] ]
name: Job2ScriptStep
# ...
因此,您需要将##vso[task.setvariable]
所有需要保存到输出的变量“打印到管道控制台” ,然后将它们作为脚本参数值传递。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句