2017-10-15 146 views
0

我需要一種方法來將從Visual Studio中運行vsvarsall.bat批處理文件設置的所有環境變量傳遞到我的shell腳本中。我目前在Visual Studio Team Service中將它設置爲兩個不同的任務。所以我運行批處理文件並選中該框以保持對環境的更改,然後運行shell腳本。但它似乎並沒有像echo $LIB一樣不會返回任何結果。將從vsvarsall.bat中設置的變量傳遞給shell腳本?

+0

你的意思是你的shell腳本來運行vsvarsall.bat和vsvarsall.bat改變的變量?現在,shell腳本和vsvarsall.bat的內容是什麼。而環境中的任務只能適用於當前環境而不適用於所有環境。如果您的構建代理安裝在Windows操作系統上,也可以嘗試使用PowerShell腳本。 –

回答

0

您必須致電VSTS Task Logging Command以在第一個任務中設置變量,以便更改的變量在第二個任務中可用。

##vso[task.setvariable]value 

設置在taskcontext的可變服務的變量。第一項任務 可以設置一個變量,以下任務可以使用該變量。 該變量作爲環境 變量暴露於以下任務。當issecret設置爲true時,變量的值將被保存爲祕密並從日誌中屏蔽掉。祕密變量不是 作爲環境變量傳遞給任務,必須作爲 輸入傳遞。例子:

##vso[task.setvariable variable=testvar;]testvalue

##vso[task.setvariable variable=testvar;issecret=true;]testvalue

相關問題