2016-02-11 10 views
10

Jenkinsジョブを新しいJenkins Pipeline(ワークフロー)ツールに変換し始めましたが、shコマンドでbashログインシェルを使用するのに問題があります。私はjenkinsパイプライン(以前のワークフロー)でbashログインシェルを起動するにはどうすればよいですか?

sh ''' 
#!/bin/bash -l 
echo $0 
''' 

が、echo $0コマンドを試してみた

は常にいうし、対話型シェルは、bashログインシェルで実行されています。

+6

でこの問題を解決することができました: のsh '' ' ' – izzekil

+0

を'!#/ binに/ bashの-l は$ 0 エコー' @ izzekilは右です!!!! UGH。 – Jeff

答えて

21

@izzekilが正しく!!!!どうもありがとうございます!

何が起こっているのかについて少し詳しく説明します。私はとshを使用しました。これは複数行のスクリプトを示しています。しかし、ジェンキンスノードにダンプされる結果のシェルスクリプトは、最初の行ではなく1行下になります。だから私は彼女-ビッグバンは、スクリプトの最初の行にする必要があります。この

sh '''#!/bin/bash -l 
echo $0 
# more stuff I needed to do, 
# like use rvm, which doesn't work with shell, it needs bash. 
''' 
+0

あなたはsh '' '(そして' '')を取り除くことができるはずです。 – gaoithe

+0

@gaoithe、あなたが意味するものの例を教えてください。 – Jeff

+0

ジョブ設定の最初の行には#!/ bin/bashがあるだけです。私は答えの編集でよりよく説明しようとしました。 – gaoithe

関連する問題