使用 Jenkins 和 PHP 进行持续部署


Continuous Deployment with Jenkins & PHP

我确信在stackoverflow上都有答案,但我找不到任何具体的东西。

有一个PHP项目,我正在重新访问。它运行在RHEL5盒子上。我在同一个盒子上有SVN。

出于好奇,我最近将 Jenkins 添加到机器中,并将 Jenkins php 模板放在...

http://jenkins-php.org/

有一些设置的玩法,但是当某些东西提交到SVN时,我或多或少地运行了这一切并进行持续检查构建。

我现在想做的是让 Jenkins 在构建完成后将我更新的文件复制到服务器。

我正在运行一个简单的 LAMP 设置,理想情况下只想复制实际更改的文件。

我应该只使用 ANT 和 sync 吗?目前,文件与服务器位于同一框中,但这可能会发生变化,因此我需要将这些文件同步到多个远程盒子。

谢谢

检查这些 - 复制工件插件和作业的环境变量。现在设置 2 个作业 - 1 个在源计算机上,1 个在目标服务器上(使其成为从属服务器)。使用插件通过环境变量复制所需的工件。

你的项目(不是 jenkins,而是带有 LAMP 设置的项目)是否在 SVN 下?如果是,我建议在 Jenkins 中创建独立的作业,它只会做一个 svn,你可以像这样将其绑定到 jenkins 作业 - 你运行你的主作业,如果构建没问题,詹金斯会自动运行作业来更新你的项目。

要复制到其他服务器,请查看 Publish Over 插件

设置服务器和规则非常容易。不好的是,您无法设置仅复制当前构建的新文件,这意味着每次构建都会上传整个项目。

如果项目太大,另一种解决方案是使用 rsync 作为生成后操作。