Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Fabric将当前git分支部署到heroku_Python_Git_Heroku_Fabric - Fatal编程技术网

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

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产品部署 这将执行相同的操

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

我使用git flow来组织我的代码库-因此通常的过程是:

  • 启动新的要素分支
  • 进行编码
  • 将此分支推送到我的dev heroku实例-
    git推送开发特性/somefeature:master
  • 并入开发部门
  • 创建一个新的发布分支
  • 将其推送到生产heroku实例-
    git推送生产版本/1.2.3:master
  • 我想做的是能够运行Fab命令,如:

    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)