シェルスクリプトを呼び出して、jenkinsの[シェルを呼び出す]オプションを使用してソースコードをビルドしています。私のコマンドは次のようになります:
export PATH=$PATH:/usr/bin/repo
cd /home/administrator/administrator/repo_sync
whoami
source ./build/envsetup.sh
choosecombo release project_int_factory eng
その結果、エラーが発生しています。フォルダへの完全なアクセス許可を与えました。ソースコードの場所は/ home/administrator/administrator/repo_syncです。私はSudo chmod + x administratorで試しましたが、Sudo chmod 777 administratorは役に立ちません。 plus whoami return jenkins
Building in workspace /home/administrator/administrator/repo_sync
[repo_sync] $ /bin/sh -xe /tmp/hudson1461193343405073934.sh
+ export PATH=/usr/lib/jvm/Java-6-openjdk-AMD64/bin:/usr/lib/jvm/Java-6-openjdk-AMD64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/var/lib/jenkins/lib:/usr/lib/jvm/Java-6-openjdk-AMD64/bin:/home/administrator/pawan/adt-bundle-linux-x86_64-20140702/sdk/tools:/home/administrator/pawan/adt-bundle-linux-x86_64-20140702/sdk/platform-tools:/usr/bin/repo
+ cd /home/administrator/administrator/repo_sync
+ whoami
jenkins
+ source ./build/envsetup.sh
/tmp/hudson1461193343405073934.sh: 5: /tmp/hudson1461193343405073934.sh: source: Permission denied
Build step 'Execute Shell' marked build as failure
Finished: FAILURE
Jenkinsスクリプト(および「シェルの実行」ビルドステップisスクリプト)は、Jenkinsを実行するユーザーで実行されます。デフォルトでは、Jenkinsはjenkins
ユーザーとして実行されます
以下から明らかなように、スクリプトは「jenkins」ユーザーとして実行されます。+ whoami
jenkins
chmod
ではなくjenkins
ユーザーに対してadministrator
コマンドを実行する必要があります。
ランニング bash command.sh
は私のために働きました。
実行ビットを.shファイルに追加する
git add --chmod=+x "filename"