使用Jenkins与Unity Test Framework执行make命令遇权限错误求助
问题描述
我正在搭建基于Unity Test Framework与Jenkins的测试系统。本地通过命令行执行make命令可正常运行测试,已将源码树和测试环境复制到Jenkins所在服务器。Jenkins可正常执行echo "Hello World"任务,但替换为make命令时出现错误:
Started by user user
Running as SYSTEM
Building in workspace /bitnami/jenkins/home/workspace/EdTest
[EdTest] $ /bin/sh -xe /tmp/jenkins9549502869208287065.sh
- cd /home/bitnami/Unity/examples/EdTest
- make
rm -f test1.out
rm: cannot remove 'test1.out': Permission denied
make: *** [makefile:63: clean] Error 1
Build step 'Execute shell' marked build as failure
Finished: FAILURE
请问是否需要修改源码文件夹的权限?
解答
是的,必须修改源码文件夹的权限。
报错的核心原因是Jenkins运行时的用户(日志显示为SYSTEM)没有权限删除test1.out文件,说明该用户对/home/bitnami/Unity/examples/EdTest目录及其中的文件缺少读写执行权限。
具体处理步骤:
- 先查看目录和文件的权限及所属用户组:
ls -l /home/bitnami/Unity/examples/EdTest/test1.out ls -ld /home/bitnami/Unity/examples/EdTest - 将目录所有权修改为Jenkins运行用户(通常是
jenkins,如果是Bitnami部署的Jenkins,默认用户是bitnami):sudo chown -R jenkins:jenkins /home/bitnami/Unity/examples/EdTest # Bitnami环境替换为: # sudo chown -R bitnami:bitnami /home/bitnami/Unity/examples/EdTest - 或者调整目录权限,让Jenkins所在用户组拥有读写权限:
sudo chmod -R g+rw /home/bitnami/Unity/examples/EdTest
另外也可以检查Jenkins任务的执行用户配置,确保它能正常访问目标目录。
内容的提问来源于stack exchange,提问作者Andys
相关产品推荐
相关产品推荐

