运行 cd 命令时拒绝 Jenkins 权限



我对macOS相当陌生,我正在尝试通过Jenkins为maven项目运行shell脚本。

我只是不知道如何授予/更改权限,以便 Jenkins 甚至可以更改目录。

命令我正在尝试运行:

#!/bin/bash
export JAVA_HOME=$(/usr/libexec/java_home)
export M2_HOME=/usr/local/apache-maven/apache-maven-3.5.3
export PATH=$PATH:/usr/local/apache-maven/apache-maven-3.5.3/bin
cd /Users/User1/Documents/QA_Automation/Selenium/workspace/TestProject
mvn clean install  -Dtest=IOSTDMobileTest -Dwebtest.browser=Chrome

我得到的输出:

Building in workspace /Users/Shared/Jenkins/Home/workspace/Test job 2
[Test job 2] $ /bin/bash 
/Users/Shared/Jenkins/tmp/jenkins1874710180338230332.sh
/Users/Shared/Jenkins/tmp/jenkins1874710180338230332.sh: line 7: cd: 
/Users/User1/Documents/QA_Automation/Selenium/workspace/TestProject:Permission denied

我在下一个任务中遇到了同样的问题:

cd /home/allex/NetBeansProjects/HelloWorld/
pwd
javac HelloWorld.java
java HelloWorld

当我执行它时,我收到"像你这样的权限错误",但在我的交互式 CLI 中,我访问目录没有问题。然后我意识到在 Jenkins 中执行命令的用户是"jenkins",他没有通过执行以下命令访问该目录的权限:

ls -ld /home/allex/
drwxr-x---. 87 allex allex 4096 Nov 19 08:57 /home/allex/

如您所见,用户 jenkins 对该目录没有权限。然后我所做的是使用下一个命令将用户 jenkins 添加到组 allex 中:

usermod -a -G allex jenkins

仅此而已。它正在工作。

相关内容

最新更新