3

嗨 Stack OverFlow 人,三个月前我对 Web 开发或 python 毫无头绪。前天我推出了我的第一个 Django 网站 :) www.gccfishing.com

这就是我部署网站的方式:

  1. 我在我的家庭桌面上开发了这个项目。
  2. 创建了一个 Github 存储库并将其上传到那里。
  3. 在 webfaction 服务器上,我克隆了 repo 并配置了服务器以运行项目。

一切都很好,人们已经开始使用它,但我遇到了一个问题;我想不出一种有效的方法来更改服务器上的项目。

从昨天开始,我一直在通过 ssh 直接在服务器上调整 vim 中的项目代码。

我也一直在家庭桌面上调整我的项目开发副本。

所以现在我的家庭桌面、Github repo 和 webfaction 服务器的代码略有不同。

在这种情况下,对我来说最好的解决方案是什么,以便我有一个项目副本(服务器副本)可以处理?我的工作流程是这样的,我在家庭桌面上开发并将其上传到服务器。

我说得有道理吗?

更新项目的服务器副本的最佳方法是什么?有什么想法/建议吗?

4

2 回答 2

4

好吧,首先让我表示祝贺。我认为这是一个非常酷的第一个项目,我相信你在此过程中学到了很多东西。

您的问题实际上类似于“我如何维护生产应用程序”。我想如果你在谷歌上搜索一下(最后加上 django),你会得到很多很好的答案。

更具体地说,您询问部署。

在这种情况下,您只想在笔记本电脑上进行更改。在本地测试它们,然后将它们提交到 github。

从您的盒子中,一旦您 ssh 进入它,只需执行 git pull 并重新启动您的网络服务器。

也就是说,您可能想查看一个名为“fabric”的python 包http://fabric.readthedocs.org/en/1.3.3/index.html来管理部署和维护。

学习结构也可以成为您工具集的宝贵补充。

此外,您的服务器可以在开发新功能时落后或位于不同的分支上。但是,你真的不希望你的服务器领先。您应该从您的服务器提交您对 github 所做的任何更改,然后将它们拉回您的本地,以便每个人都保持同步。

于 2013-11-11T16:20:26.787 回答
2

恭喜您的第一个项目肯定是使用工具的绝佳选择:-)

您会发现这个博客系列有助于帮助您使用结构进行部署(尤其是第 5 部分):

http://www.abidibo.net/blog/2012/04/30/deploy-django-applications-nginx-uwsgi-virtualenv-south-git-and-fabric-part-1/

此外,您可能还想看看这也是一个很好的资源:

http://www.jeffknupp.com/blog/2012/10/24/starting-a-django-14-project-the-right-way/

于 2013-11-12T05:28:53.217 回答