apache文件夹中jenkins的权限

apache文件夹中jenkins的权限

我遇到类似的问题: 如果我没有目标目录的权限,如何将文件复制为 Jenkins“构建后”操作

我愿意将文件从 jenkins 工作区移动/复制/rsync 到

/var/www/应用程序

权利设置为

阿帕奇:阿帕奇

我已将詹金斯添加到组中 阿帕奇,但是jenkins实例无法将文件复制到/var/www/app。

我也尝试过将 /var/www/app 的权限设置为 apache:jenkins 但 Jenkins 仍然不断吐出错误:权限被拒绝或操作不允许

PS:忘记添加操作系统是centOS;)

编辑1:这是jenkins脚本运行的日志:

[workspace] $ /bin/sh -xe /tmp/hudson1379987233097some_more_numbers.sh + sh /path_to_sh_script/script.sh 发送增量文件列表

应用/

rsync:无法在“/var/www/app/application”上设置权限:不允许操作(1)

这就是脚本本身:)

#!/bin/bash

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/application /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/library /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/public /var/www/app ;

答案1

经过评论中长时间而富有成效的讨论,以及以下内容这个链接用户设法解决了添加的问题

--no-perms --omit-dir-times

rsync选项。

初步尝试解决该问题:

我想如果你在短时间内不关心安全问题,你可以尝试一下

chmod a+rwx /var/www/app 

然后尝试写入该目录。请注意,如果有子目录,则必须递归执行:

chmod --recursive a+rwx /var/www/app 

如果成功,那么您可以开始逐渐删除权限,这将帮助您查明问题。

验证用户 jenkins 是否已经是 apache 的组成员

groups apache

答案2

我有类似的问题。我想在 Jenkins 的本地主机上写入 /var/www 。在我的服务器上 /var/www 归 www-data 所有,因此我将 jenkins 添加到 www-data 组并使 /var/www 组可写,但不断收到权限被拒绝的错误。只需重新启动詹金斯服务就可以解决我的问题。

答案3

首先使用 SSH 和 ssh-key Exchange 将您的 Linux 或 apache 服务器添加到 Jenkin 服务器。并在 linux/apache 服务器中创建一个用户,用户名为 jenkin(unix 用户)。因为如果您使用 ssh 来拉/推文件,jenkin 会使用“jenkin”作为标准用户。

将 apache 用户添加到 unix 中的 jenkin 组可能会有所帮助。

相关内容