首次使用Capistrano 3进行部署

时间:2014-03-27 10:13:20

标签: git magento capistrano capistrano3

我想用Capistrano 3部署一个Magento应用程序。假设我会使用this gitignore file。 由于这些文件不在存储库中,因此无法将它们复制到远程服务器。但是我第一次部署应用程序时应该复制这些文件。 实现这一目标的最佳方法是什么?我应该第一次手动将文件上传到远程服务器吗?我应该使用另一个.gitignore并将文件包含在存储库中吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

免责声明:我根本不熟悉Magento

对于在每台服务器上首次部署之前必须运行一次的所有内容,请使用deploy:setup(请参阅docs)。

在您的情况下,问题是,每次部署时,capistrano将默认创建一个新目录并将其链接为current。因此,即使您复制第一次部署的文件,第二次部署也将使用另一个文件夹。

我看到两种方法:

  1. 在每次部署时复制有问题的文件
  2. 使用capistrano创建的shared文件夹并在此处上传文件一次(在安装过程中)以及稍后部署文件/文件夹的相应文件/文件夹
  3. 一般来说,您应该重新考虑您的项目结构。也许将所有这些文件放在gitignore上是件好事,因为它们似乎是你项目中不可或缺的一部分。一般来说,我只把东西放在gitignore上:

    1. 可再现(例如编译资产)
    2. 临时(缓存等)
    3. 敏感(包含密码的配置文件)
    4. 本地(例如配置等,在每台机器上都是特定的)
    5. 所以在你的情况下,似乎你在.gitignore上有一些库和类似的东西,我想没有那些你的项目将无法工作。因此,我会将它们添加到回购邮件中,或者考虑将它们添加为submodules,如果它们更大并且可能会被第三方更改。