2016-08-09 13 views
1

私はJobDSLを試しているので、複数のpowershellコマンドを一度に実行する方法が見つからないようです。例:JobDSLの複数行powershellコマンド

job('whatever'){ 
steps{ 
    powershell("""$var = $env:mybuildvar 
    cmdlet2 $var""") 
} 
} 

どうすればよいですか?ありがとう!

"" "" ""はバッチでは動作しますが、powershellでは動作しません。 はまた、私は脱出したりJobDSLなしの$ VARを使用しようとする

ERROR: (sandbox_CI_Dev, line 15) No signature of method: javaposse.jobdsl.dsl.helpers.step.StepContext.powershell() is applicable for argument types: (java.lang.String) values: [$var = $ENV:mybuildvar]

で失敗し、エラーがjobdslの遊び場(http://job-dsl.herokuapp.com/)上で再現可能で、使用後のコード(または上記のコードに似何でも):

job('whatever') { 
    steps{ 
     powershell("write-output $") 
    } 
} 

もPowerShellの(「ライト出力試験;ライト出力テストは」)

答えて

4

メソッド名がpowerShell、ないpowershellで動作しません。 https://jenkinsci.github.io/job-dsl-plugin/#path/job-steps-powerShellを参照してください。

そして、Groovyは二重引用符で囲まれた文字列を補間します。String interpolationを参照してください。ドル記号($)を使用する場合は、補間を避けるために一重引用符を使用する必要があります。 '$var'。複数行の文字列には、三重引用符を使用します。

job('whatever'){ 
    steps{ 
    powerShell('''$var = $env:mybuildvar 
cmdlet2 $var''') 
    } 
} 
それはでは動作しませんでした理由を説明
+0

OMG、PowerShellの、「」「『私は神に誓う...私のテストでは』」私はS.のおかげで、おそらく私のカップルを保存した資本をキャッチすることはありません数日ではなくても! – 4c74356b41

関連する問題