4

我目前面临如何部署 PHP 应用程序的两难境地。

这是我的设置的样子:

  • 一个测试服务器,我也有我的 SVN 存储库。我有一个提交后脚本,它导出主干以在每次提交时自动将副本部署到测试服务器。
  • 第二个生产服务器。

我说的部署显然是从第一台服务器到第二台。

我目前正在使用我编写的一个看起来很像这样的脚本:

#!/bin/bash

echo "Removing Old Export."
rm -rf /tmp/app_export

echo "SVN Export."
svn export -q -r HEAD "file:///var/www/svn/app/trunk" /tmp/app_export

echo "Changing permissions"
chown -R apache.apache /tmp/app_export

echo "*** Rsynching to app.com."
rsync -zai --progress --stats --ignore-times --checksum /tmp/app_export/ user@app.com:/var/www/html/app/ --exclude '*.log'

但是每个人都说我应该使用 Jenkins(或类似的东西)来部署我的应用程序。这样做的好处是什么?

提前致谢。

4

1 回答 1

4

Jenkins 旨在支持构建,但实际上它是一个通用的自动化框架

使用 Jenkins 的优点:

  • 可以调用您现在使用的相同脚本来部署您的应用程序
  • 可以将 Jenkins 作业设置为在有人提交源代码存储库时自动触发
  • 部署的凭据可以仅限于 Jenkins。这样,部署要么自动触发,要么您可以设置用户授权规则来控制允许谁运行部署
  • Jenkins 充当中央仪表板,记录部署发生的时间。
  • 可以添加一些在 Jenkins 中作为“构建后”操作运行的功能测试。
  • ..
  • ..
于 2013-01-11T00:24:08.500 回答