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

OK - もう少し掘り下げると、次のようになりました。

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 に答える