使用rsync为Symfony应用程序部署代码更新

时间:2016-07-13 16:34:30

标签: symfony web-deployment rsync

我有几个开发机器可以对我的更改进行编码,还有一个生产服务器,我已部署了我的Symfony应用程序。目前,我的部署过程繁琐,包含以下工作流程:

  1. 确定上次提交中更改的文件:
  2. svn log -v -r HEAD

    1. 将这些文件作为普通用户FTP到服务器
    2. 以root用户手动将这些文件复制到目标位置,如果需要,因为该文件是新的,请将所有者更改为apache用户
    3. 本地用户无权访问apache目录,这就是我必须使用root的原因。我总是担心由于FTP期间忘记的文件或者复制到apache src目录会出现问题。

      我在考虑相反,我应该将整个Symfony app/src/目录以及composer.json与常规用户一起FTP到服务器,然后使用rsync来同步脚本来同步所有文件。

      新的工作流程将是:

      1. FTP app / src / composer.json到本地用户项目目录中的服务器
      2. 运行同步脚本以同步文件
      3. 清除缓存
      4. 这是一个很好的解决方案还是有更好的Symfony项目?

        This question是类似的并给出了rsync的一个例子,但没有讨论这种方法的优缺点。理想情况下,我希望获得最可靠且易于设置的方法,而无需安装新软件。

1 个答案:

答案 0 :(得分:1)

基本上每个自动化解决方案都比rsync或ftp更好。正如您所提到的,有很多事情要做:复制文件,清除缓存,运行迁移,生成资产,列表继续。

在这里您可以找到潜在解决方案列表。

http://symfony.com/doc/current/cookbook/deployment/tools.html#using-build-scripts-and-other-tools

根据我对symfony的经验,我可以推荐capifony,需要一段时间来理解它,但它会带来回报