从Jenkins运行shell命令时生成失败
我通过jenkins的“调用shell”选项调用shell脚本来构建我的源代码。我的命令如下:从Jenkins运行shell命令时生成失败,shell,ubuntu,jenkins,Shell,Ubuntu,Jenkins,我通过jenkins的“调用shell”选项调用shell脚本来构建我的源代码。我的命令如下: export PATH=$PATH:/usr/bin/repo cd /home/administrator/administrator/repo_sync whoami source ./build/envsetup.sh choosecombo release project_int_factory eng 结果,我得到以下错误。我已授予该文件夹的完全权限。源代码位置是/home/admini
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\u sync。我试过使用sudo chmod+x管理员&sudo chmod 777管理员,但没有任何帮助。加上whoami返回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脚本(以及“执行Shell”构建步骤是一个脚本)由Jenkins运行的用户执行。默认情况下,Jenkins以Jenkins
user的身份运行
您的脚本是以“jenkins”用户的身份执行的,这一点从:+whoami
jenkins
您应该为
jenkins
用户执行chmod
命令,而不是administrator
运行bash命令。sh
对我有效。将执行位添加到.sh文件中
git add --chmod=+x "filename"
我认为这是一个直接的回答。由于权限原因,作者运行shell脚本的方式不起作用。如我所述运行shell脚本将允许作者在没有权限错误的情况下运行she shell脚本。