我让Jenkins设置在托管我的PHP项目的远程服务器上。 Jenkins从git存储库创建构建,然后我希望将文件移动到服务器文档根目录。
但问题是所有文件都以Jenkins用户为其所有者。因此,如果我将工作区移动到我的文档根目录,我将无权访问它们。
我想知道人们做什么来自动化这个?也许在构建完成后执行shell命令?我对詹金斯很新,所以我可能走错了路。
答案 0 :(得分:-1)
简短的回答是肯定的,你需要一个运行chown
(更改所有权)和/或chmod
(更改权限)linux命令的构建后步骤。这将允许您切换拥有用户(如果jenkins用户拥有足够的权限)并为最多777(免费)的文件设置读/写权限。
然而,它不止于此。您偶然发现了项目的部署阶段,而且比这复杂得多。通常由外部工具处理,这些工具通过bash调用(我不太熟悉那些,但我当然知道capistrano是ruby中的行业标准),而那些工具通常是(每个项目可能需要特殊方案)更新项目文件,更新依赖项,部署迁移到数据库,管理权限,清理缓存等等。