首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用从一个阶段到下一个阶段的输出的环境变量?

如何使用从一个阶段到下一个阶段的输出的环境变量?
EN

Stack Overflow用户
提问于 2021-11-18 13:31:04
回答 1查看 59关注 0票数 0

如何将我的环境变量从第一阶段转移到第二阶段?

发出->我从回显结果中得到一个空的"“值。

azure-pipeline.yml

代码语言:javascript
复制
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'

我不明白我到底做错了什么。

这是我的流水线的结果:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-18 18:55:53

您有合同问题:

代码语言:javascript
复制
    - 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"

名称和displayName应与输入位于同一级别,然后:

完整的代码在这里

代码语言:javascript
复制
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'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70020755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档