2017-10-06 58 views
0

変数VAR_Aをジェンキンスパイプラインの埋め込みPowerShellスクリプトに渡すにはどうすればよいですか?jenkinsパイプラインでpowershellスクリプトにパラメータを渡す方法

def VAR_A = 'test' 
def mystatus = powershell(returnStatus: true, script: ''' 
       Write-Host "My result: '$VAR_A'" ''' 


withEnv(["VAR_A=test"]) { 
def mystatus = powershell(returnStatus: true, script: ''' 
       Write-Host "My result: '$VAR_A'" ''' 
} 

両方の結果、次のような出力 マイ結果と:「

注」:私は物事をシンプルに保つためにjenkinsfileで私のPowerShellスクリプトを定義することを好みます。

+1

はこれを試してください:DEF mystatus = PowerShellの$ env:VAR_A – dsaydon

+0

これは正しいです:$ env:VAR_A。thanks – NicolasW

答えて

2

これを試してみてください:

node { 
    powershell ''' 
     $VAR_A = 'test' 
     Write-Host "My result: '$VAR_A'" 
    ''' 
    withEnv(["VAR_A=envtest"]) { 
     powershell ''' 
      Write-Host "My result is empty: '$VAR_A'" 
      Write-Host "My env result: '$env:VAR_A'" 
     ''' 
    } 
} 

出力は次のようになります。

My result: 'test' 

My result is empty: '' 
My env result: 'envtest' 

この

はジェンキンス2.73.1で試験しました。

こと注:

  • $VAR_A = 'test'が最初powershell '''...'''
  • env:内で宣言されたが、環境変数にアクセスするために必要です(マイクロソフトドキュメントでabout_Environment_Variablesを参照)
+0

ありがとうt(returnStatus:true、スクリプト: "" Write-Host \ "私の結果:\" $ VAR_A "彼の仕事。 – NicolasW

関連する問題