我想用 Capistrano 3 部署一个 Magento 应用程序。假设我会使用这个 gitignore 文件。由于这些文件不在存储库中,因此它们不会被复制到远程服务器。但是我第一次部署应用程序时应该复制这些文件。实现这一目标的最佳方法是什么?我应该第一次手动将文件上传到远程服务器吗?我应该使用另一个 .gitignore 并将文件包含在存储库中吗?或者,还有更好的方法?
问问题
583 次
1 回答
0
免责声明:我根本不熟悉 Magento。
对于在每个服务器上第一次部署之前必须运行一次的everyting deploy:setup
(请参阅文档)。
您的问题是,capistrano 将默认创建一个新目录,每次您将其部署并链接为current
. 因此,即使您为第一次部署复制文件,第二次部署也会使用另一个文件夹。
我看到两种方法:
- 在每次部署时复制有问题的文件
- 使用
shared
capistrano 创建的文件夹并将文件上传一次(在设置期间),然后在稍后部署相应地复制或链接文件/文件夹
一般来说,您应该重新考虑您的项目结构。也许最好不要将所有这些文件都放在 gitignore 上,因为它们似乎是您项目中不可或缺的一部分。一般来说,我只在 gitignore 上放置以下内容:
- 可重现(例如编译的资产)
- 临时(缓存等)
- 敏感(包含密码的配置文件)
- 本地(例如,每台机器上特定的配置等)
因此,在您的情况下,您似乎在 .gitignore 上有一些库和类似的东西,我想如果没有这些,您的项目将无法运行。因此,如果它们更大并且受第三方更改的影响,我会将它们添加到 repo 或考虑将它们添加为submodules 。
于 2014-03-27T11:05:32.410 回答