Naf*_*Kay 9 django continuous-integration project-management build-management maven
来自Java开发,其中构建和项目管理工具比比皆是,我想知道Django可用的内容.我真的很喜欢使用像Maven这样的东西来构建东西,但还有另一种首选方法吗?
我真的在寻找以下内容:
mvn install非常简单和酷.目前Maven或其他工具可以实现吗?我正在这里开展一个非常大的项目,我希望像Maven这样的kick-rad构建/项目管理系统能够帮助项目随着时间的推移而增长.
小智 7
我想到了两个工具,它们都是通用的python工具 - 它们不需要特别使用Django:
我相信还有其他套餐可供选择.我能给你的最好建议就是简单地评估它们并选择最适合你的场景/团队工作方式的那个.请注意,这些主要是部署工具 - 在python中构建并不真正有意义,因为您不编译python代码.
在CI相关的东西方面,你需要知道django有三个命令:
./manage.py test 从所有tests.py文件运行您的测试.这些基本上unittest是对python包的特定于django的增强../manage.py collectstatic将静态文件收集到您选择的目录中; 对于将所有位拉到一起以存在于静态介质服务器上非常有用.看一下静态文件howto的工作原理../manage.py schemamigration app --auto && ./manage.py migrate app- 这会将模型更改应用于底层的sql架构.基本上,如果你只是改变模型并且不使用south,Django会非常沮丧,因为新字段不会映射到旧的sql架构,并且它将无法持久保存你的模型.南支持的模式迁移使您可以升级现有的已填充数据库.值得在自动化之前手工完成../manage.py whatever you like.这具有相当大的潜力 - 例如,我使用管理命令作为在cron作业中执行的命令.您还可以为应用程序的管理员构建交互式命令,当然还有部署和测试.如何处理这些取决于您可用的设置和您选择的工具.
在编译时:你用python建立的最接近的是freeze,aka py2exe或cxfreeze,它们会生成二进制文件.请注意,尽管所有这些都是在exe中存储python字节码并将其传递给解释器,而解释器无论如何都是共享对象.此外,你不能cxfreeze一个django应用程序,因为django本身使用在运行时发生的动态导入,因此无法通过cxfreeze进行评估,cxfreeze本质上是一个编译时工具.所以将建筑折扣作为一项需要做的任务.您可能会看到.pyc文件出现在您的目录中 - 如果自上次pyc以来已对其进行了更改,python会将您的python脚本转换为python字节码.如果未进行任何更改,则会pyc从上次加载文件.Python字节码是执行的,所以这不是一个性能加速,只是加载时间.
| 归档时间: |
|
| 查看次数: |
3874 次 |
| 最近记录: |