2017-05-11 20 views
0

私はVisual Studio TFS Servicesを使用していますが、パワーシェルを実行し、変数を更新して別のタスクで使用します。tfsでpowershellを使用してビルド変数を更新する

ビルド定義には2つのpowershellタスクと1つの変数(NugetEnabled)とデフォルト値 "dontpush"しかありません。

変数ビルドしますNugetEnabled(値: "dontpush")

タスク1: PowerShellのスクリプト

##vso[task.setvariable variable=NugetEnabled;]push 

タスク2: PowerShellのスクリプト

$value= $env:NugetEnabled 

if ($value) 
{ 
    Write-Output "Value of the nuget is set and equals to $value" 
} 
else 
{ 
    Write-Output "Value of the nuget doesn't exists." 
} 

出力コンソール書き込み:

"Value of the nuget is set and equals to dontpush" 

期待値: "プッシュ"。

値を更新できません。私はナゲットパッケージをプッシュするために "カスタム条件"を使用したいので、値を更新したいと思います。

完全なPowerShellスクリプトis hosted in githubと私のエージェントのバージョンは、事前に2.116.1

感謝です! アドバイスをいただきありがとうございます。 、それが本当になっ

github.com/Microsoft/vsts-task-lib/tree/master/powershellので

:実際には

+0

( "## VSO [task.setvariable変数= NugetEnabled;]プッシュ")'と作品完璧!... –

答えて

0

、私はPowerShellのVSTSのタスクのためのTFS 2017とライブラリを使用していますビルド/リリースタスク間で変数を共有するのは簡単です。

例(PSモジュールをインポートする):

$Script_Path = $PSScriptRoot 
Import-Module $script_Path"\VstsTaskSdk\VstsTaskSdk.psd1" -force #2>&1> $null 

$Root_Path = $ENV:ROOT_PATH 
$Repo_Path = $ENV:BUILD_SOURCESDIRECTORY 
$Repo_Branch = $ENV:BUILD_SOURCEBRANCHNAME 
$Repo_CID = $ENV:BUILD_CID 
$Log_Folder = $ENV:LOG_FOLDER 
$SCRIPT_DB = $ENV:SCRIPT_DB 
$Build_result_folder = $ENV:BUILD_RESULT_FOLDER 



$Artifact_Path=$ENV:BUILD_ARTIFACTSTAGINGDIRECTORY 
write-host "Artifact_Path : "$($Artifact_Path) -backgroundcolor "Red" 

$File_Log = $Log_Folder+"\LOG-TFS-"+$ENV:BUILD_BUILDNUMBER+".log" 
Write-Host "Fichier de log : "$FileLog -backgroundcolor "Red" 
Set-VstsTaskVariable -Name "LOG_FILE" -Value $File_Log #2>&1> $null 

変数の値を設定するには:だけでなく、変数の値を取得するには、Get-VstsTaskVariable

:変数の値を取得するには、Set-VstsTaskVariable

をあなたはTFSによって自動的にエクスポートされた環境変数を使用することができます。ビルドイン変数の命名規則は、psスクリプトで使用するときに、名前を "。"に変換します。 "_"にする。

例:$ ENV:BUILD_SOURCEBRANCHNAMEはTFS UIインターフェイスのBuild.SourceNameBrancheになります。 それ以外の場合は、自分の変数をTFSで定義し、例として$ ENV:... というPSをネーミング変換なしで使用します。

のビルド変数の詳細:https://www.visualstudio.com/en-us/docs/build/define/variables

リリース変数の詳細:私は書き込み出力を `とCOMANDを変更https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables

関連する問題