我嘗試通過 Azure DevOps 管道中的作業傳遞價值,并為此使用以下代碼:
trigger: none
pool:
vmImage: 'windows-2019'
stages:
- stage: Processing
jobs:
- job: A
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$someValue = 1234
Write-Host ("##vso[task.setvariable variable=someValue; isOutput=true;]$someValue")
- job: B
dependsOn: ['A']
variables:
someValue: $[ dependencies.A.outputs['setVariable.someValue'] ]
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Write-host "Hello there"
echo $(someValue)
結果我得到了這個:

我錯了什么?我需要什么代碼來傳遞值?
uj5u.com熱心網友回復:
測驗您的 YAML 示例并重現相同的問題。
從您的 YAML 代碼中,它有以下問題。
1.在Powershell任務中設定變數時,命令中有多余的空格字符。
請參考以下示例設定變數:
Write-Host "##vso[task.setvariable variable=someValue;isOutput=true;]$someValue"
2.您需要定義用于設定變數的PowerShell任務的名稱。然后您可以在下一個作業中使用該名稱來獲取變數。name: taskname
這是一個完整的例子:
pool:
vmImage: 'windows-2019'
stages:
- stage: Processing
jobs:
- job: A
steps:
- task: PowerShell@2
name: taskname
inputs:
targetType: 'inline'
script: |
$someValue = 1234
Write-Host "##vso[task.setvariable variable=someValue;isOutput=true;]$someValue"
- job: B
dependsOn: A
variables:
someValue: $[ dependencies.A.outputs['taskname.someValue'] ]
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Write-host "Hello there"
echo $(someValue)
有關更多詳細資訊,您可以參考此檔案:跨管道共享變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495229.html
標籤:电源外壳 天蓝色的devops
上一篇:在另一個子Ou中創建子OU
下一篇:統計字串輸出的實體
