2017-05-07 8 views
0

ジョブDSLを使用してJenkinsジョブを書いています。それは正常に動作しますが、何らかの理由で、私のシェルスクリプトを実行すると、それはエラーで失敗しJenkinsジョブDSL:グルービージョブの変更PATH

job(jobName) { 
    description("This is my Jenkins job.") 
    steps { 
    // Executing some shell here. 
    } 
    scm { 
    // Checking out some branch from Git. 
    } 
    triggers { 
    bitbucketPush() 
    scm '' 
    } 
} 

:私の知る限り理解し

/usr/lib/git-core/git-pull: 83: /usr/lib/git-core/git-sh-setup: sed: not found basename: write error: Broken pipe /usr/lib/git-core/git-pull: 299: /usr/lib/git-core/git-sh-setup: uname: not found

など

ように見えます、問題はPATH変数です。 UIからJenkinsで修正するときは(Configureセクション)、うまくいきます。 (このような何か追加:?PATH=/usr/local/bin:/usr/bin 私は仕事の多くを作成していますと、それは私のDSLスクリプトで作成プロセス中にこのPATHを解決するための素晴らしいだろう、それは私のDSLの中に添加することができる方法

+0

execuにはどのジョブDSLコマンドを使用しますかシェルを焼く? 'steps'ブロックでコードの一部を拡張できますか? –

+0

@OrtomalaLokni、いくつかの 'gitcheckout'、' git pull'、 'git merge'コマンドなどを実行しているカスタムスクリプトを実行しています。 – smart

+0

' out.println($ PATH) 'と' out .println( '$ PATH')あなたのシードジョブを実行するネクタイで? – thiagowfx

答えて

-1

問題は、ジョブのDSLとは関係ありません。ジョブを手動で設定し、すべての問題を解決し、あなたが仕事DSLにコンフィギュレーション翻訳してみる。この場合

あなたは、例えばgitのエージェントをされて構築の環境に問題があります

+0

これで、UIの 'PATH'変数に'/usr/local/bin:/ usr/bin'を追加しましたが、これをJob DSLにどのように翻訳するのですか? – smart

関連する問題