3

我的目标是能够基于提交并推送到存储库的 Git 分支将 Django 应用程序部署到两个环境(DEV 或 PROD)之一。该存储库与运行 Django 应用程序的服务器托管在同一台服务器上。

现在,我virtualenv设置了两个。每个环境一个。它们是相同的。我设想它们只有requirements.txt在我的存储库中被修改时才会改变。

我在互联网上看到过通过git将存储库直接托管在将部署应用程序的位置来提供部署的教程。这不适用于我的架构。我正在使用 RhodeCode 来托管/管理存储库。我希望能够使用接收后(或其他更合适的)挂钩来触发对适当环境的更新。

与此答案类似的内容将使我能够缩小我想要关注的环境。

当我将source activate命令放入外部脚本(即我的钩子)时,脚本会在该命令处停止。已virtualenv正确启动,但不会执行脚本中的任何进一步操作(即。pip install -r requirements.txt./manage.py migrate)。

我的问题是,我怎样才能让那个钩子运行关联的virtualenv?或者,如果它已经在运行,使用新的requirements.txtSouth迁移的和应用程序代码适当地更新它?

这个工作流程是否过于复杂?从理论上讲,它应该git push与适当的分支一样简单。

4

0 回答 0