Windows Server 2008でビルドプロセスを実行すると、次のようなエラーメッセージが表示されて失敗します
プログラム "foo"を実行できません:CreateProcess:error = 2、システムは指定されたファイルを見つけることができません
私はすでにUbuntuサーバーで同様の問題を抱えており、Jenkins configのPATH変数にComposerによってバイナリをグローバルにインストールしたフォルダーへのパスを追加することで解決しました(Manage Jenkins -> Configure System -> Global properties -> Environment variables: name=PATH, value=$PATH:$COMPOSER_HOME/vendor/bin/
):
(許可の移動によりCOMPOSER_HOME
の外側/root
ディレクトリは、Jenkinsがアクセスできる別のディレクトリにも必要でした。
今、私はWindows上で同じことを試みましたが、それは動作しません。ですから、おそらくPATH
を間違って設定しているだけかもしれません。私が試したもの:
PATH
$PATH:D:\path\to\COMPOSER_HOME\vendor\bin
PATH
$PATH;D:\path\to\COMPOSER_HOME\vendor\bin
PATH
%PATH%D:\path\to\COMPOSER_HOME\vendor\bin
PATH
%PATH%;D:\path\to\COMPOSER_HOME\vendor\bin
Windowsで正しく動作するJenkinsの設定でPATH
環境変数を設定する方法は?
私が抱えていた問題は、間違ったPath
構成によるものではありませんでした。 %PATH%;D:\path\to\COMPOSER_HOME\vendor\bin
正しい。
「パス」ではなく「パス」である必要があります。
Jenkinsはこの特殊変数を大文字と小文字を区別して処理し、「パス」のみがパス変数として認識されます。 「PATH」は、Windowsでも、一般的な環境変数のようにジェンキンに見えます。
[値]フィールドの%PATH%と$ PATHについて混同しないでください。 %PATH%はWindowsノードの正しい構文ですが、UNIXノードでPATHを拡張するには/ foo/bar:$ PATHを使用する必要があります
それぞれのジョブに対してローカルに設定する場合は、Build -> Execute batch Command
ステップ:
//append more variables separated by ; if required
SET Path=%PATH%;C:\Program Files\Git\bin;
//run your command here
git --version
このアプローチは、実行したいあらゆるタイプのコマンドに対して機能します。上記のように、それぞれの環境変数をローカルでPath変数に追加するだけです。
Windows Jenkinsマスターを備えたWindowsスレーブでPath変数をカスタマイズする同様の要件がありました。 Jenkinsグローバル環境変数を作成したくなかったので、この変数が特定のWindowsノード/エージェントに固有であることを望みました。
ここに私がやったことがあります:
1)Nodes->WindowsNode-> Configure画面に示すように、環境変数を作成しました:
2)Jenkinsノードを切断しました。
3)Jenkinsシステムプロセスをスレーブで直接再起動しました。
4)Nodes->WindowsNode-> System Informationをクリックしてテストし、新しいノードに割り当てられた環境変数:
5)次に、以下のコマンドをExecute Windows Batch Commandビルドステップに追加して、Windowsスレーブ/エージェントで実行されるJenkinsジョブで使用しました:
git --version
ホームenv変数のような、スレーブノードのパスを追加します。
Slave nide設定からディレクトリを作成できます。
スレーブノードの構成設定を開き、環境変数情報を追加します。
たとえば、HOMEを設定するには、ホームディレクトリの名前と場所を追加するだけです。