私はWindows 10を持っているので、Windows用のUbuntu用bashを使用してJenkinsパイプラインからJenkinsfileでshコマンドを実行したいのですが、うまくいきません
私はJenkinsパイプラインに次の段階があります:
stage('sh how to') {
steps {
sh 'ls -l'
}
}
エラーメッセージは次のとおりです。
[C:\ Program Files(x86)\ Jenkins\workspace\pipelineascode]シェルスクリプトの実行プログラム "Nohup"を実行できません(ディレクトリ "C:\ Program Files(x86)\ Jenkins\workspace\pipelineascode"):CreateProcess error = 2 、Le fichierspécifiéest introuvable
私はJenkinsパラメータを変更してみました->シェル実行可能ファイル
C:\ Windows\System32\bash.exe
しかし、同じエラー...
windows 10のbashを使用してshスクリプトを実行する方法は?
非常に迅速な検索から、エラーは次の問題に関連しているようです: JENKINS-33708
主な原因は、sh
ステップがWindowsでサポートされていないようです。たとえば、bat
を使用するか、Cygwin
をインストールします。
それでも、前のリンクでは2つの解決策が提案されており、次の手順を実行することをお勧めします。
C:\Program Files\Git\bin
)がグローバル検索パスにあることを確認しますインストールに応じて、次のパスを使用する必要があります。
Git for Windowsでは、C:\Program Files\Git\bin
をJenkinsのスレーブノードのPATH
環境変数に追加し(sh
にアクセスするため)、C:\Program Files\Git\usr\bin
を追加する必要がありましたPATH
Windowsスレーブでもローカルに(Nohup
にアクセスするため)。
Git for Windows 2.16.2では、C:\ Program Files\Git\usr\binを(C:\ Program Files\Git\binではなく)PATHに追加できたため、shコマンドはFreeStyleとパイプラインビルド。 mklinkは必要ありませんでした。 ( ソース )
Shをbatに切り替えるとうまくいきました-WindowsでJenkinsを実行しています。しかし、Jenkinsでツール(MavenおよびJDK)を正しく構成しなかったという事実に起因する問題を解決した後のみです。