如何使用具有从一个阶段到下一个阶段的输出的环境变量?
Posted
技术标签:
【中文标题】如何使用具有从一个阶段到下一个阶段的输出的环境变量?【英文标题】:How do I use a environment variable with output from one stage to the next? 【发布时间】:2021-12-29 09:30:58 【问题描述】:如何将我的环境变量从第一阶段转移到第二阶段?
问题 -> 我从回显结果中得到一个空的 "" 值。
天蓝色管道.yml
trigger:
branches:
include:
- main
paths:
include:
- infra/*
- .pipelines/*
variables:
vmImageName: 'ubuntu-latest'
root: $(System.DefaultWorkingDirectory)
stages:
- stage: TakePITR
dependsOn: []
variables:
env: poc
jobs:
- job: GetPitrTime
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$iso8601_time = Get-Date -Format "o"
echo "##vso[task.setvariable variable=pitr_time;isOutput=True]$iso8601_time"
name: PitrVar
displayName: "Get point-in-time before second stage"
- stage: TestOutputEnvVar
dependsOn: TakePITR
variables:
env: poc
PITR: $[ stageDependencies.TakePITR.GetPitrTime.outputs['PitrVar.pitr_time']]
jobs:
- job:
steps:
- script: |
echo $pitr_time
echo $PITR
displayName: 'echo value'
我不明白我在这里做错了什么。
这是我的管道的结果:
【问题讨论】:
【参考方案1】:您有缩进问题:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$iso8601_time = Get-Date -Format "o"
echo "##vso[task.setvariable variable=pitr_time;isOutput=true]$iso8601_time"
name: PitrVar
displayName: "Get point-in-time before second stage"
Name 和 displayName 应与 input 处于同一级别,然后:
完整代码在这里
trigger:
branches:
include:
- main
paths:
include:
- infra/*
- .pipelines/*
variables:
vmImageName: 'ubuntu-latest'
root: $(System.DefaultWorkingDirectory)
stages:
- stage: TakePITR
dependsOn: []
variables:
env: poc
jobs:
- job: GetPitrTime
steps:
- task: PowerShell@2
name: PitrVar
displayName: "Get point-in-time before second stage"
inputs:
targetType: 'inline'
script: |
$iso8601_time = Get-Date -Format "o"
echo "##vso[task.setvariable variable=pitr_time;isOutput=true]$iso8601_time"
- stage: TestOutputEnvVar
dependsOn: TakePITR
variables:
env: poc
PITR: $[ stageDependencies.TakePITR.GetPitrTime.outputs['PitrVar.pitr_time']]
jobs:
- job:
steps:
- script: |
echo $pitr_time
echo $PITR
displayName: 'echo value'
【讨论】:
以上是关于如何使用具有从一个阶段到下一个阶段的输出的环境变量?的主要内容,如果未能解决你的问题,请参考以下文章