首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用git部署Django,包括与生产相关的文件

使用git部署Django,包括与生产相关的文件
EN

Stack Overflow用户
提问于 2010-06-24 18:58:45
回答 1查看 640关注 0票数 5

我想像以前一样使用git部署django项目,但这一次还需要将生产文件(如上载的文件、sql db等)放在存储库的某个位置,以便您可以在本地轻松地处理与服务器上相同的数据;我的想法是有三个分支:

  • 硕士(在此基础上进行“正常”发展)
  • 生产(另外还有生产文件(文件上传等))
  • 部署(用于在服务器上运行的设置等的产品)

对我来说,问题是:如何在不改变/破坏任何生产数据的情况下,将主版中所做的更改合并到生产分支中?

是否有一种有选择地进行合并的方法(例如不接触媒体/上传中的文件),或者做某种“分支选择性跟踪”或任何其他的可能性来处理这个问题?

另一方面,我还需要能够从生产中提取完整的数据,可以轻松地从服务器上使用来进行一些调试,例如.(我现在不再考虑数据库方案的变化,因为它们可以手动或单独完成)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-25 06:52:55

我被您的服务器名称弄糊涂了,我更习惯于:生产、分期、开发。

您可能应该将数据库转储为sql代码,或者以任何方式输出数据,然后将其传输给您的主程序(开发?)服务器。您可以通过在生产时将其上传到git存储库,并在开发时将其拖到git存储库。交换矩阵会让这一切变得很简单。

但是将数据放入git存储库可能不是一个好主意,我还没有尝试合并数据库转储,所以我不太确定。你在说多少数据?git是快速的,但是合并和提交大型数据库转储可能是一个痛苦的过程。

我们倾向于在本地机器上有小型的测试数据库(可以擦除),并且在生产服务器旁边运行一个具有独立DB的暂存服务器。

当底层django模型发生变化时,我们将在我们的暂存和生产服务器上使用迁移到新的数据库。

上传的文件,您可能应该使用Fabric tar,然后下载到您的机器进行分析,但同样,很多工作可以在暂存服务器上完成,而不必将所有内容传输到本地机器。

如果仍然希望向git存储库添加静态内容,只需将静态文件添加到子目录中即可。然后,您可以将您的文件服务器设置为直接从该子目录提供服务,或者如果感觉太不安全,则将git拉到其他位置,然后将文件复制到/var/www-静态/ with Fabric。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3113064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档