0

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

4

1 回答 1

0

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

对于在每个服务器上第一次部署之前必须运行一次的everyting deploy:setup(请参阅文档)。

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

我看到两种方法:

  1. 在每次部署时复制有问题的文件
  2. 使用sharedcapistrano 创建的文件夹并将文件上传一次(在设置期间),然后在稍后部署相应地复制或链接文件/文件夹

一般来说,您应该重新考虑您的项目结构。也许最好不要将所有这些文件都放在 gitignore 上,因为它们似乎是您项目中不可或缺的一部分。一般来说,我只在 gitignore 上放置以下内容:

  1. 可重现(例如编译的资产)
  2. 临时(缓存等)
  3. 敏感(包含密码的配置文件)
  4. 本地(例如,每台机器上特定的配置等)

因此,在您的情况下,您似乎在 .gitignore 上有一些库和类似的东西,我想如果没有这些,您的项目将无法运行。因此,如果它们更大并且受第三方更改的影响,我会将它们添加到 repo 或考虑将它们添加为submodules 。

于 2014-03-27T11:05:32.410 回答