是否有可能在应用程序之间维护可重用的django *项目*?

时间:2015-04-26 11:11:42

标签: python django git

我试图决定是否可以使用可重复使用的应用程序'维护可重复使用的裸项目设置也是可行的。

旁注:我可以销毁我的任何服务器并在几小时内重建它,只要我有(数据)备份和蓝图(在我的情况下是盐栈,但它也可能是木偶,厨师或者不是什么。)

通过灵活的红外线,下一步是这些部署步骤:

  • 为django应用程序创建virtualenv
  • 查看我的项目(总是命名为项目)
  • 我的项目包含了setup.py。这设置了周围环境:
    • 根据yaml数据和模板呈现设置文件
    • 可能需要时加载灯具
    • 在生产中,它呈现apache config
  • 之后,作为git子模块,您可以插入可重复使用的应用程序,最终运行正在运行的Web应用程序。

在裸项目基础结构中建立了相当多的智能,我最终得到了我原来的问题。

我想知道项目基线是否可以作为交叉(Web)应用程序单独的git repo维护。或者项目结构本身是否需要与整个(Web)应用程序相关的许多特定的移动部件?

例如:可插入的应用程序进入INSTALLED_APPS等,并且最终会得到很多相关/变化的数据。

希望它清楚。期待您的评论

1 个答案:

答案 0 :(得分:0)

正如所建议的那样,一种可能性是模仿项目就足够了。但是,模板项目会导致每个项目的起点不同。由于模板随着时间的推移而发展,并不是一个项目开始相同。

如果您的公司(开发)公司足够大并且正在构建足够多的不同项目,那么在所有项目中都有一个基线似乎值得追求。在这种情况下,基线可以是自定义的python egg或添加到Django项目的附加django应用程序。这样的应用程序可以实施部署策略或帮助维护基础结构的依赖性。

例如,传播/配置有关您的基础架构或其他服务的服务器信息。想想数据库,存储,身份验证服务和其他后端。当移动到不同的内部存储后端或它的新API版本时,您的应用程序可以平滑过渡。如果您还没有为项目添加(可重复使用)应用程序,专门用于将项目连接到存储服务。

因此,简而言之,我认为我自己的问题的答案是:

是的,尽可能为此创建可重用的应用程序,但始终确保解决方案不会比问题大。