使用Fabric将当前git分支部署到heroku

时间:2012-12-07 13:10:37

标签: python git heroku fabric

我想缩短部署到Heroku的过程(即git push)

我使用git-flow来组织我的代码库 - 通常过程如下:

  1. 启动新功能分支
  2. 做编码
  3. 将此分支推送到我的dev heroku实例 - git push develop feature/somefeature:master
  4. 合并到开发分支
  5. 创建新的发布分支
  6. 将此推送到生产heroku实例 - git push production release/1.2.3:master
  7. 我想做的是能够运行Fab命令,如:

    fab dev_deploy

    只会将当前工作分支部署到我的开发实例

    fab prod_deploy

    它会做同样的事情,但推送到生产实例。 我可以在这里包括一些健全性检查,以确保我在发布分支等。

    我的fab命令会做其他事情(比如将静态资产推送到正确的S3存储桶等,运行南迁移命令等等)

    所以我真正想知道的是如何将当前工作分支作为结构内部的变量......!

    谢谢,

2 个答案:

答案 0 :(得分:11)

好的 - 多挖一点让我知道了:

from fabric.api import local
my_branch = local('git rev-parse --abbrev-ref HEAD', capture=True)

完全符合我的要求。

答案 1 :(得分:1)

import subprocess
my_branch = subprocess.check_output(['git','branch'])

或:

from fabric.api import local
my_branch = local('git branch')