Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 使用Jenkins部署到Apache拥有的目录时权限被拒绝 背景_Wordpress_Jenkins_Permissions - Fatal编程技术网

Wordpress 使用Jenkins部署到Apache拥有的目录时权限被拒绝 背景

Wordpress 使用Jenkins部署到Apache拥有的目录时权限被拒绝 背景,wordpress,jenkins,permissions,Wordpress,Jenkins,Permissions,在工作中,我们最近开始在Java代码中使用Jenkins CI。我们非常喜欢它,我们想将它用于一些PHP项目和一些我们维护的WordPress主题 问题 我已设置Jenkins运行一个“吞咽”任务来构建主题,效果很好。然后我有一个部署作业,它删除旧主题并将新代码移动到位。这就是问题所在。我有一个在部署作业中运行的bash脚本,如下所示: whoami mv /var/www/html/wordpress/wp-content/themes/my-theme /var/www/html/wordp

在工作中,我们最近开始在Java代码中使用Jenkins CI。我们非常喜欢它,我们想将它用于一些PHP项目和一些我们维护的WordPress主题

问题 我已设置Jenkins运行一个“吞咽”任务来构建主题,效果很好。然后我有一个部署作业,它删除旧主题并将新代码移动到位。这就是问题所在。我有一个在部署作业中运行的bash脚本,如下所示:

whoami
mv /var/www/html/wordpress/wp-content/themes/my-theme /var/www/html/wordpress/wp-content/backups/theme/$(date '+%F')_$BUILD_NUMBER-backup_my-theme
mv $JENKINS_HOME/workspace/Build_MyTheme/build/my-theme /var/www/html/wordpress/wp-content/themes
当这运行时,我会进入权限问题。大量“权限被拒绝”错误。
whoami
命令输出
tomcat
。然后,像我提到的那样,之后的命令会为移动文件夹(其父文件夹和self属于
apache
)抛出权限拒绝错误。据我所知,为了让WordPress主题具有方便的功能,比如更新自身,插件能够更新和删除;主题和插件需要由
apache
用户拥有

我是Jenkins CI的新手,事实上是另一个开发人员用Java创建的。所以我可能做错了什么,但我认为主要的问题是许可问题
tomcat
必须操作
apache
拥有的文件时,如何克服权限错误?

我试过的 我曾尝试将apache和tomcat添加到一个名为
webusers
的组中,但在尝试使用Jenkins操作文件时仍然出现权限被拒绝的错误

我已尝试将文件的所有者更改为
tomcat

这是
wp content
目录。正如您所看到的,或者可能不是因为它太像素化了,插件和主题文件夹由tomcat和webusers目录拥有。这是可行的,但有一个主要的缺点:

这是一个主要缺点,因为它会造成糟糕的用户体验

我也尝试过让apache成为所有者,并使用组(以前创建的),然后WordPress可以工作,但Jenkins未能部署:

我在这里不知所措,我已经在谷歌上搜索了很多次“WordPress和Jenkins”、“WordPress和Jenkins的合作”等话题,我能想到的种类很多。我甚至去寻求帮助,但它引用了Drupal教程

我建议您可以部署一个Apache版本的Jenkins,它可能适用于我们的PHP项目,但是每种语言都有一个Jenkins实例真的是最佳实践吗?

任何帮助都会很棒。提前谢谢你