当前位置: 首页 > 知识库问答 >
问题:

Azure DevOps yaml管道-从一个作业到另一个作业的输出变量

百里涛
2023-03-14

我试图在Azure Devops管道中将一个变量值从一个作业传递到另一个作业。

我一直在努力学习Microsoft文档中的文档。
例如:

  • https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2cbatch
  • https://docs.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops

然而,它并不像预期的那样工作。

有人能指出问题在哪里吗?

管道在这里

jobs:
- job: A
  steps:
  - script: echo "##vso[task.setvariable variable=applicationId;isOutput=true]629ae9cb-95e0-46b7-8a88-a4034b68323e"
    name: mytask

- job: B
  variables:
    newValue: $[dependencies.A.outputs['mytask.applicationId']]
  dependsOn: A
  steps:
  - powershell: |
      Write-Host "This value is: ${{variables.newValue}}"
    displayName: 'Output the value'

谢谢

共有1个答案

赫连华皓
2023-03-14

在最后一个powershell步骤中,使用$()而不是${{}}语法调用newValue

-powershell:Write-Host“this value is:$(newValue)”

我认为${{}}不工作的原因可能是${{}}用于解析时间,并且在执行$[[]]之前执行。

 类似资料:
  • 下面是我的场景。我的工作是处理大量的csv数据,并使用Avro将其写入按日期划分的文件中。我得到了一个小文件,我想用它来更新这些文件中的一些附加条目,第二个作业我可以在需要时运行,而不是再次重新处理整个数据集。 这个想法是这样的: job1:处理大量的csv数据,将其写入压缩的Avro文件中,并按输入日期拆分为文件。源数据不按日期划分,因此此作业将做到这一点。 job2(在Job1运行之间根据需要

  • 我有一个Jenkins管道作业,它需要监控另一个Jerkins作业(比如JobA)当前构建,并在当前管道阶段发布状态(构建状态:成功或失败)。如何实现这一点。不会从管道作业触发作业(JobA)。它将独立运行。从管道作业中,需要获取作业A的状态。

  • 是否可以从另一个作业触发Jenkins多分支管道的立即扫描操作?我在将旧版本的Gitlab与Jenkins中的管道作业集成时遇到了某些问题,并遇到了这样的解决方法。 或者,现在可以使用notifyCommit web钩子触发扫描多分支管道吗? 这样做的目的是每当Git存储库中发生更改时扫描多分支管道,以便在这样的更改后检测到新的分支。另一个我无法以其他方式实现的目的(除了对我来说非常邪恶的每个分支

  • 我试图在节点JS中的另一个cron作业中运行一个cron作业。外部cron作业在第1天只执行一次:内部cron作业在第2天执行1次:内部cron作业在第3天执行2次:内部cron作业执行3次 为什么它要多次执行,尽管我在cron作业中调用它一次

  • 我想用Quartz实现下面的算法,但不确定是否可以做到。这是我第一次尝试使用石英。 用户通知作业-此作业计算每月报告并向用户发送电子邮件,它需要用户id和用于生成自定义用户报告的其他参数 可能需要生成10,000多个这样的报告 null 如何确保每月作业在单个事务中执行,以便识别所有需要每月报告的用户,并安排作业通知他们 如何立即安排作业在创建它们的作业之后立即执行? 我用的是Spring 3.2

  • https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/jenkins-queue-job?view=azure-devops 此图像显示了输出变量的设置 此图像显示了输出变量的使用 开始认为它可能在模式中不可用,因为在我在发布管道中设置的模式上单击view不会显示引用名称。