Wordpress 使用Jenkins部署到Apache拥有的目录时权限被拒绝 背景
在工作中,我们最近开始在Java代码中使用Jenkins CI。我们非常喜欢它,我们想将它用于一些PHP项目和一些我们维护的WordPress主题 问题 我已设置Jenkins运行一个“吞咽”任务来构建主题,效果很好。然后我有一个部署作业,它删除旧主题并将新代码移动到位。这就是问题所在。我有一个在部署作业中运行的bash脚本,如下所示: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
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实例真的是最佳实践吗?
任何帮助都会很棒。提前谢谢你