アジャイル開発手法を採用したので、ソースコードをより頻繁にリリースすることになりました。これには、より繰り返されるタスクも含まれていましたが、手作業で実行しても結果は得られません...「アジャイル」。
私には2つの永続的なブランチがあります。マスター(安定したソフトウェア)、開発(開発バージョン)、および各機能の他のすべてのブランチで、開発にマージされます。
より具体的には、リリースプロセス(開発->マスター)には次の手順が含まれます(1.0.5バージョンをリリースすると仮定します)。
まず、新しいブランチを作成します。ここでは、リリース固有のカスタマイズをほとんど行うことができません。
git checkout -b release1.0.5 develop
次に(この場合)Railsアプリでリビジョン部分ビューを編集します(アプリケーションフッターにリビジョン番号を表示するために使用されます)
vim app/views/layouts/_revision.html.haml
次に、変更をコミットしrelease1.0.5
(通常は「updatedrev#」というメッセージを表示)、、、、ソースを本番環境にアップロードし、checkout master
最後に。git merge --no-ff release1.0.5
git tag v1.0.5
git checkout develop
git merge --no-ff release1.0.5
git branch -d release1.0.5
これは、1日に3/4回実行すると、非常に面倒です(本番サーバーでのみ認識されるバグをハードフィックスするためかもしれません)。もちろん、「make-release」などのコマンドを使用して、これらすべてを自動的に実行し、リリース番号をパラメーターとして使用することもできます。
カスタムgitコマンドについてはすでに読みましたが、プロジェクト固有であるため(別のプロジェクトでは、そのような操作を実行する必要はありませんでした)、コマンドを現在のリポジトリに関連付けて、起動しないようにすると便利です。たくさんのコマンドがあり、プロジェクトごとに1つずつグローバルに共有されます。それを行う方法はありますか?