2

我想缩短部署到 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

我想做的是能够运行 Fab 命令,例如:

fab dev_deploy

这只会将当前工作分支的任何内容部署到我的开发实例

fab prod_deploy

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

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

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

谢谢,

盖伊

4

2 回答 2

11

好的 - 多一点挖掘让我明白了这一点:

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

这正是我想要的。

于 2012-12-11T07:51:30.080 回答
1
import subprocess
my_branch = subprocess.check_output(['git','branch'])

或者:

from fabric.api import local
my_branch = local('git branch')
于 2012-12-10T12:31:19.373 回答