相关疑难解决方法(0)

一个简单的Python部署问题 - 一个痛苦的整个世界

我们在Linux上运行了几个Python 2.6应用程序.其中一些是Pylons Web应用程序,其他只是我们从命令行使用的长时间运行的进程nohup.我们也在virtualenv开发和生产中使用.将这些应用程序部署到生产服务器的最佳方法是什么?

在开发中,我们只需将源代码树放入任何目录,设置virtualenv并运行 - 足够简单.我们可以在生产中做同样的事情,也许这确实是最实用的解决方案,但svn update在生产中运行感觉有点不对劲.我们也试过fab,但它从来没有第一次工作.对于每个应用程序,出现其他问题.令我感到震惊的是,整个过程太过艰难,因为我们想要实现的目标从根本上说非常简单.这是我们从部署过程中想要的.

  1. 我们应该能够运行一个简单的命令来部署应用程序的更新版本.(如果初始部署涉及一些额外的复杂性,那很好.)
  2. 当我们运行此命令时,它应该将某些文件从Subversion存储库或本地工作副本中复制到服务器上的指定"环境",这可能意味着不同的virtualenv.我们在同一台服务器上有应用程序的暂存和生产版本,因此它们需要以某种方式保持独立.如果它安装到站点包中,那也没关系,只要它有效.
  3. 我们在服务器上有一些应该保留的配置文件(即,不会被部署过程覆盖或删除).
  4. 其中一些应用程序从其他应用程序导入模块,因此它们需要能够以某种方式作为包引用彼此.这是我们最麻烦的部分!只要它在开发和生产中都可靠地运行,我不关心它是通过相对导入,站点包还是其他方式工作.
  5. 理想情况下,部署过程应自动安装我们的应用程序所依赖的外部包(例如psycopg2).

真的是这样的!它能有多难?

python linux deployment pylons

21
推荐指数
3
解决办法
4241
查看次数

标签 统计

deployment ×1

linux ×1

pylons ×1

python ×1