2017-02-02 46 views
0

我需要訪問Visual Studio Team Services發佈管理中工件的內部版本號,以便我可以將值發送到任務。如何訪問工件的BUILDNUMBER是Visual Studio Team Services發佈管理

我的神器的名字中有一個空間:「生產分公司」

我一直在閱讀下列文件。

https://www.visualstudio.com/en-us/docs/release/author-release-definition/understanding-artifacts#variables

文檔狀態,它可以這樣獲得:

RELEASE_ARTIFACTS_ [源極 - 別名] _ [變量名]

例如

RELEASE_ARTIFACTS_Production Branch_BUILDNUMBER

它接着說,如果正在使用的參數傳遞給一個任務,用了一段所以取代下劃線:

RELEASE.ARTIFACTS.Production Branch.BUILDNUMBER

然而,這將導致以下錯誤:

2017-02-02T12:15:49。 6988066Z ## [error]術語'Release.Artifacts.Production_Branch.BUILDNUMBER'不被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。

這可能是由於包含空格字符的工件名稱,我不確定如何處理此問題。

回答

0

它看起來像你試圖在PowerShell中作爲一個環境變量來訪問它。在PowerShell中,訪問環境變量的適當方式爲$env:RELEASE.ARTIFACTS.Production_Branch.BUILDNUMBER。如果這不是正是它,你可以列出所有的環境變量,可以在命令gci Env:

1

其價值的。如果你想獲得它在PowerShell腳本,使用此代碼來代替:

$env:RELEASE_ARTIFACTS_[alias]_BUILDNUMBER 

如果你想把它作爲變量,使用此代碼來代替:

$(RELEASE.ARTIFACTS.[alias].BUILDNUMBER) 

你可以得到詳細的變量在下載文物步驟登錄:

enter image description here

+0

其中重要的一點就是破折號 - –

+0

如果元數據上有短劃線就不起作用 –

1

當您從PowerShell中訪問變量,你需要使用「_」代替空格的名稱,例如:

Write-Host $env:RELEASE_ARTIFACTS_Production_Branch_BUILDNUMBER 

但是如果你想使用的變量在構建任務,不要更改爲「_」,只是繼續使用空間。例如:

$(RELEASE.ARTIFACTS.Production Branch.BUILDNUMBER) 
相關問題