Ber*_*ant 5 git deployment django
我想像以前一样使用git来部署django项目,但是这次还需要在存储库中的某个地方有生产文件(比如上传的文件,sql db等),以便你可以在本地工作轻松使用与服务器上相同的数据; 我的想法是有三个分支:
对我来说问题是:如何将master中完成的更改合并到生产分支中,而不更改/销毁任何生产数据?
有没有办法有选择地合并(例如,不触摸媒体/上传中的文件),或做某种"分支选择性跟踪"或任何其他可能来处理这个?
另一方面,我还需要能够从服务器轻松提取来自生产使用的完整数据,以进行一些调试,例如......(我现在正在考虑更改数据库方案,因为它们可能是手动完成或以单独方式完成
我对你的服务器名称有点困惑,我更习惯:生产、登台、开发。
您可能应该将数据库转储为 sql 代码,或者以任何您想要输出数据的方式,然后将其传输到您的主(开发?)服务器。您可以通过将其上传到生产中的 git 存储库并在开发中拉取来实现这一点。Fabric会让这变得非常容易。
但是将数据放入 git 存储库可能不是一个好主意,我还没有尝试过合并数据库转储,所以我不太确定。你说的是多少数据?git 速度很快,但合并和提交大型数据库转储可能是一个痛苦的过程。
我们倾向于在本地计算机上拥有小型测试数据库(可以被擦除),并在生产服务器旁边运行一台临时服务器,并具有单独的数据库。
当底层 django 模型发生变化时,我们在临时和生产服务器上使用South来迁移到新数据库。
您可能应该使用 Fabric 压缩上传的文件,然后下载到您的计算机进行分析,但同样,许多工作可以在登台服务器上完成,而无需将所有内容传输到本地计算机。
如果您仍然想向 git 存储库添加静态内容,只需将静态文件添加到子目录中即可。那么您可以将文件服务器设置为直接从该子目录提供服务,或者如果感觉太不安全,可以 git pull 到其他位置,然后使用 Fabric 将文件复制到 /var/www-static/ 。
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |