Jenkins 和 CMake:权限错误

Jenkins and CMake: permission errors

我安装了 Jenkins,我是新手。做了一个用户,安装了 CMake 插件。我正在尝试编译一个简单的项目只是为了开始,但我什至不能这样做。

在抱怨无法打开某些文件(如 build/CMakeFiles/CMakeOutput.log)后,在输出的末尾显示:

-- Configuring incomplete, errors occurred!
CMake Error: Cannot open file for write: /home/username/development/csa/build/CMakeCache.txt.tmp
CMake Error: : System Error: Permission denied
CMake Error: Unable to open cache file for save. /home/username/development/csa/build/CMakeCache.txt
CMake Error: : System Error: Permission denied
Build step 'CMake Build' marked build as failure
Finished: FAILURE

对我来说,这显然是一个权限问题。构建目录是空的,它没有做任何事情。我创建了一个用户,启动了 jenkins 并且以下任一操作对输出没有影响:

sudo /etc/init.d/jenkins start --user jenkins
sudo /etc/init.d/jenkins start --user username
sudo /etc/init.d/jenkins start

我什至没有尝试编译代码,只是尝试构建 cmake 文件...我的配置是这样的:(尽可能简单)

我确实在我的主文件夹中添加了一个工作目录,所以我确实拥有它的权限。

编辑:我将构建文件夹的所有权更改为 jenkins,创建了一个名为 jenkinsusers 的用户组,将我自己和 jenkins 添加到该组,并授予该组 read/write 权限。它现在似乎可以工作了。但我不确定这是执行此操作的标准方法...

所以我不确定这是正确的方法,但我是这样做的:我将目录的所有者更改为 jenkins。

工作区文件夹在我的主目录下 (~/myproject/build)。这可能是问题所在。编译是使用 catkin_make,一个来自 ROS 的工具完成的。