JenkinsエージェントとCygwinが既にセットアップされているWindows7とWindowsServer2012のスレーブがあります。Cygwinを避けて、Git forWindowsに付属しているGitBashシェルを使用したいと思います(msysgitと呼ばれていると思います)。そこで、名前C:\cygwin64
をに変更しC:\cygwin64.bak
、C:\cygwin64\bin
パスから削除して、再起動しました。
Windows 2012ボックスが正常に動作するようになり、(Unix)シェルスクリプトが実行され、、、$OSTYPE = msys
およびuname = MSYS_NT-6.3
(Git Bashシェルが実行されていることを示します)。
Windows 7ボックスは何も実行せず、次のエラーが発生します。
\ Users \ユーザージェンキンス\ワークスペース\ TEST:ワークスペースCにwin7の上でリモートの構築
[Win7の] $ shを-xe C:\ Users \ユーザージェンキンス\のAppData \ローカル\一時\ hudson5047939025129374618.sh
システムは、ファイルが指定見つけることができません
FATAL:コマンド実行失敗した
java.io.IOException:プログラム "sh"を実行できません(ディレクトリ "C:\ Users \ Jenkins \ workspace \ TEST"内):CreateProcess
error = 2、システムは指定されたファイルを見つけることができません。
java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)で
だから私の質問は、Jenkinsを使用するようにC:\Program Files\Git\bin\sh.exe
、またはC:\Program Files\Git\usr\bin\bash.exe
シェルスクリプトを実行するように構成するにはどうすればよいですか?
私はそれを解決しました。Jenkinsは、パスの最初のsh.exeを選択するだけです。Git BashにはexeがありC:\Program Files\Git\usr\bin
ます。そのため、パスの先頭にそれを追加すると、Jenkinsによって取得されます。
この変更を行った後、Jenkinsとのスレーブの接続を再開する必要があります。そうしないと、パスが伝播されません。Java Web Startを使用している場合は、Javaウィンドウを閉じて再起動するだけです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加