首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure管道覆盖管道变量

Azure管道覆盖管道变量
EN

Stack Overflow用户
提问于 2020-01-25 23:47:12
回答 1查看 6.4K关注 0票数 2

如何覆盖管道变量或如何从作业创建管道变量?

我正在运行一个prepare作业,在该作业中,我将当前的git标记提取到一个变量中,在接下来的作业中我需要该变量,因此我决定创建一个管道变量,并在第一个作业中覆盖它的值:

代码语言:javascript
复制
variables:
  GIT_TAG: v0.0.1

jobs:
- job: job1
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
    - powershell: |
        Write-Host "##vso[task.setvariable variable=GIT_TAG]$(git describe --tags --always)"

但是,在下一个作业中,GIT_TAG具有v0.0.1的初始值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-26 07:26:06

默认情况下,如果您覆盖一个变量,则该值仅适用于他的作业,而不是序列作业。

在同一阶段在作业之间传递变量要复杂一些,因为它需要处理输出变量。

类似于上面的示例,要传递FOO变量:

  1. 确保给这份工作起了一个名字,例如job: firstjob
  2. 同样,也要为该步骤指定名称,例如:name: mystep
  3. 使用与前面相同的命令设置变量,但添加;isOutput=true,如:echo "##vso[task.setvariable variable=FOO;isOutput=true]some value"
  4. 在第二个作业中,在作业级别定义一个变量,给它值$[ dependencies.firstjob.outputs['mystep.FOO'] ] (记住对表达式使用单引号)

一个完整的例子:

代码语言:javascript
复制
jobs:

  - job: firstjob
    pool:
      vmImage: 'Ubuntu-16.04'
    steps:

      # Sets FOO to "some value", then mark it as output variable
      - bash: |
          FOO="some value"
          echo "##vso[task.setvariable variable=FOO;isOutput=true]$FOO"
        name: mystep

      # Show output variable in the same job
      - bash: |
          echo "$(mystep.FOO)"

  - job: secondjob
    # Need to explicitly mark the dependency
    dependsOn: firstjob
    variables:
      # Define the variable FOO from the previous job
      # Note the use of single quotes!
      FOO: $[ dependencies.firstjob.outputs['mystep.FOO'] ]
    pool:
      vmImage: 'Ubuntu-16.04'
    steps:

      # The variable is now available for expansion within the job
      - bash: |
          echo "$(FOO)"

      # To send the variable to the script as environmental variable, it needs to be set in the env dictionary
      - bash: |
          echo "$FOO"
        env:
          FOO: $(FOO)

更多信息,你可以找到这里

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59914386

复制
相关文章

相似问题

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