我想用Capistrano 3部署一个Magento应用程序。假设我会使用this gitignore file。 由于这些文件不在存储库中,因此无法将它们复制到远程服务器。但是我第一次部署应用程序时应该复制这些文件。 实现这一目标的最佳方法是什么?我应该第一次手动将文件上传到远程服务器吗?我应该使用另一个.gitignore并将文件包含在存储库中吗?或者有更好的方法吗?
答案 0 :(得分:0)
免责声明:我根本不熟悉Magento 。
对于在每台服务器上首次部署之前必须运行一次的所有内容,请使用deploy:setup
(请参阅docs)。
在您的情况下,问题是,每次部署时,capistrano将默认创建一个新目录并将其链接为current
。因此,即使您复制第一次部署的文件,第二次部署也将使用另一个文件夹。
我看到两种方法:
shared
文件夹并在此处上传文件一次(在安装过程中)以及稍后部署文件/文件夹的相应文件/文件夹一般来说,您应该重新考虑您的项目结构。也许将所有这些文件放在gitignore上是件好事,因为它们似乎是你项目中不可或缺的一部分。一般来说,我只把东西放在gitignore上:
所以在你的情况下,似乎你在.gitignore上有一些库和类似的东西,我想没有那些你的项目将无法工作。因此,我会将它们添加到回购邮件中,或者考虑将它们添加为submodules,如果它们更大并且可能会被第三方更改。