首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个小组中使用Django开发web的技巧/过程

在一个小组中使用Django开发web的技巧/过程
EN

Software Engineering用户
提问于 2011-06-23 10:10:07
回答 3查看 2.9K关注 0票数 2

我们正在使用Django开发一个web应用程序,我们是一个由3-4名程序员组成的小组--有些在做UI的工作,有些在做后端的工作。我希望这里的人能给我一些建议和建议。这是我们当前的设置:

  1. 我们使用Git作为我们的配置管理工具,并遵循这个分支模型
  2. 我们正在遵循PEP8为您的风格指南。
  3. 敏捷化是我们的软件开发方法,我们正在为此使用Jira
  4. 我们使用用于Jira的汇合点插件作为文档,我将编写一个脚本,该脚本还将将PyDocs转储到Confluence中。
  5. 我们使用virtualenv进行沙箱
  6. 我们正在使用zc.buildout来建造

这就是我能想到的一切。欢迎任何其他建议/建议。我觉得我们有一个相当好的设置,但我也有信心,我们可以做更多。

EN

回答 3

Software Engineering用户

发布于 2011-06-23 15:09:09

我基本上可以写一本关于优化Django/Python工作流的小书,无论是个人还是在团队环境中。我只想列举几个要点:

  • 1-5很好,这正是你应该从
  • 整个社区从构建到使用pip和pip的相关需求文件是完全回避的。
  • 作为pip的补充,在您的项目中保留一个调用bootstrap.shsetup.py脚本,这样可以将整个项目打包起来,并使在新服务器上的安装变得非常简单。
  • 考虑使用像Jenkins这样的方法进行持续集成/测试/部署
  • 为了将其绑定到您链接到的优秀分支模型中,您基本上可以对您的master分支的更改进行一次后提交挂钩检查,并通知Jenkins,是时候构建了!(或者,让Jenkins每分钟进行一次中央git回购,等等)。
  • 在一个成功的Jenkins构建(所有测试都通过了,您想要的任何其他条件)自动部署到您的暂存服务器(我希望您有暂存服务器)。
  • 在部署过程中使用Fabric (用于分期和生产)。Fabric是使用Python编写的ssh/ftp/etc命令的高级包装器,可以轻松地更新服务器。我所做的就是键入fab prod deploy,我拥有的每台生产机器都会自动更新到我的站点的最新版本。
  • 可以使用Nagios、Graphite、Sentry ( Django应用程序)和Overseer (另一个Django应用程序)的健康组合来监视服务器。

那应该是个好的开始。如果您需要进一步的建议,我强烈建议在Disqus (世界上最大的Django应用程序)上查找devs提供的任何演示。他们可能比我遇到的任何人都更了解如何优化工作流和扩展。

票数 3
EN

Software Engineering用户

发布于 2012-11-30 08:12:23

这个介绍性为python团队展示了一个很好的工具/实践集合:

  • 自动化测试(Django内置)
  • 持续整合(Jenkins,django-jenkins)
  • 测量所有的东西(哨兵,状态+石墨,新文物)
  • 脚本数据库(南方)
  • 脚本部署(fabric)
  • 配置管理(傀儡/厨师)
  • 虚拟开发(Vagrant)
  • 测试分离(测试装饰器,定制测试运行程序)

此外,我还要补充如下:

  • 对依赖项使用pip。
  • 为您的主分支设置一个守门员,这样如果没有通过所有测试,就不能合并任何代码。
  • 您希望在开发过程中尽可能频繁地运行测试。因此,使它们尽可能快(即使用sqlite进行测试),或者至少将它们分成慢/快两部分。
票数 1
EN

Software Engineering用户

发布于 2012-11-30 13:22:20

实际上,我并不认为分支模型对使用Git有那么好的效果。我曾经对分支模型感到兴奋,因为它类似于我们之前使用的模型(CVSNT)。然而,它与Git思想(某种)背道而驰。它使事情变得比必要的更复杂。在Git中提交点比分支更重要。如果将分支视为指向分支中最后提交点的指针,则更明显。

但这可能不是你的意见。无论如何,您可以随时介绍或离开分支模型,因此您可以从您选择的任何模型开始,您几乎不会失去任何东西。

阅读斯科特·查肯的亲Git书,第3章,Git分支也许是个好主意。

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

https://softwareengineering.stackexchange.com/questions/86431

复制
相关文章

相似问题

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