Python 使用Fabric将当前git分支部署到heroku
我想缩短部署到Heroku的过程(即git推送) 我使用git flow来组织我的代码库-因此通常的过程是:Python 使用Fabric将当前git分支部署到heroku,python,git,heroku,fabric,Python,Git,Heroku,Fabric,我想缩短部署到Heroku的过程(即git推送) 我使用git flow来组织我的代码库-因此通常的过程是: 启动新的要素分支 进行编码 将此分支推送到我的dev heroku实例-git推送开发特性/somefeature:master) 并入开发部门 创建一个新的发布分支 将其推送到生产heroku实例-git推送生产版本/1.2.3:master 我想做的是能够运行Fab命令,如: fab dev_deploy 它只会将当前工作分支部署到我的dev实例 及 fab产品部署 这将执行相同的操
git推送开发特性/somefeature:master
)git推送生产版本/1.2.3:master
fab dev_deploy
它只会将当前工作分支部署到我的dev实例
及
fab产品部署
这将执行相同的操作,但会推送到生产实例。
我可以在这里包括一些健全的检查,以确保我在一个发布分支等
我的fab命令还可以做其他事情(比如将静态资产推送到正确的S3存储桶等,运行south migrate命令等等)
所以我真正想知道的是如何将当前工作分支作为结构中的变量获取
谢谢
家伙
或:
好吧,再多挖一点,我就明白了:
from fabric.api import local
my_branch = local('git rev-parse --abbrev-ref HEAD', capture=True)
这正是我想要的。它们都运行常规的“git branch”命令,该命令返回一个本地分支列表,其中当前分支用asterix表示。是否没有命令只获取当前分支以供以后处理?或者我需要获取此列表并使用一点正则表达式来获取当前branch.regex或类似于
branchs.split('*')
的东西,或者以您喜欢的方式分割字符串:)
from fabric.api import local
my_branch = local('git branch')
from fabric.api import local
my_branch = local('git rev-parse --abbrev-ref HEAD', capture=True)