Git + Heroku(Ruby on Rails)で使用するのに適したデプロイメント戦略は何ですか?ヘロクを使ったブランチ戦略を使った良いGitデプロイメントですか?
現時点では、私の起源をGitリポジトリと連携させています。すべての機能(または「ストーリー」)は、まずブランチとしてチェックアウトされ、マスターとマージされ、起点にプッシュされます。
origin/masterにプッシュされたものはすべて、新しいレールコードをステージング領域(単純なレールウェブサーバ)にプルするスクリプトをトリガします。
新しい生産バージョンをHerokuにプッシュするときは、新しいブランチ(production_version_121と呼ばれる)を作成して何とかHerokuにプッシュする必要がありますか?
理想的には、以前の開発バージョンのどの機能をプロダクションブランチに含めるかを選択してテストし、Herokuにプッシュすることをお勧めします。
たとえば、最新のコードをすべてプロダクションにプッシュしたくない場合があります。フィーチャー "a"を作っていて、 "c"というフィーチャーが何とかプロダクションにマージされ、より多くのデバッグが必要な実験的なフィーチャー "b"が含まれていなくてもいいかもしれません。
N.B.私は最初にカピストラーノを避け、手作業で何かを手に入れようとします。
思考?ベストプラクティス?
ありがとうDavid!もし誰かがそれをやっていたら私は不思議だった。私はちょうど私のリモート "マスター"をプロダクションとして使用しています。デプロイするには、git push heroku(時が来るとき) 問題は、私が望む機能がまだありませんプロダクションデプロイメントに組み込むことを選択して選択する必要があります。その場合、リモートgitサーバーで正当な "プロダクション"ブランチを開始する必要があります。私はそれを試して次回:git push heroku production:master私はそれが不平と仮定し、herokuが追跡していたものを投げ捨てるように "force"フラグを使用する必要がありますか? – Zaqintosh
私の唯一の他の質問は、何かのためにあなたのリモートマスターを使用していますか?または、ブランチで作業し、100%ブランチに/ブランチを展開/マージしますか? – Zaqintosh
強制する必要があるかどうかは、「本番」が現在リモートマスタに存在するものの直系子孫であるかどうかによって決まります。 Gemcutterは、トランクとして「master」ブランチを使用します。それはすべての最新の変更が行く場所です。フィーチャーブランチが作成され、その後トランクにマージされます。個々のコミットやフィーチャーブランチがプロダクションブランチにマージされることがあります。マスターが必要な場合は、マスターが直接マージされることもあります。 –