簡體   English   中英

將 output 傳遞給 azure 發布管道中的新作業

[英]Pass output to new job in azure release pipeline

我正在尋找一些幫助,將 output 從 powershell 腳本傳遞到發布管道中的另一個任務。

工作流程如下:

在此處輸入圖像描述

我需要將從 powershell 腳本創建的變量傳遞到手動干預文本消息中。

在 yaml 管道中,我會使用

  Write-Host "##vso[task.setvariable variable=myvar;isOutput=true]foo"

但是,為了訪問它,它僅在前一個任務是依賴項時才有效,我不相信您可以在發布管道中執行此操作。

我不認為那是真的。 在 YAML 管道中,您可以在根、階段和作業級別設置變量。 您還可以使用變量組使變量在多個管道中可用。 一些任務定義了 output 變量,您可以在下游步驟、作業和階段中使用這些變量。

來到 YAML,您可以使用dependencies跨作業和階段訪問變量。 默認情況下,管道中的每個階段都依賴於 YAML 文件中的前一個階段。 如果您需要引用一個不在當前階段之前的階段,您可以通過向階段添加一個dependsOn部分來覆蓋此自動默認值。

例如,假設我們有一個名為MyTask的任務,它設置了一個名為MyVar的 output 變量。 要在不同的作業中使用輸出:

jobs:
 - job: A
  steps:
  # assume that MyTask generates an output variable called "MyVar"
  # (you would learn that from the task's documentation)
 - task: MyTask@1
    name: ProduceVar  # because we're going to depend on it, we need to name the step
 - job: B
  dependsOn: A
  variables:
    # map the output variable from A into this job
    varFromA: $[ dependencies.A.outputs['ProduceVar.MyVar'] ]
  steps:
 - script: echo $(varFromA) # this step uses the mapped-in variable

有關語法和示例的更多詳細信息,請查看以下文章:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM