从Jenkins运行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

我通过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/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脚本。