これは、バージョンに番号を付ける方法についての質問ではありません。
特定のバージョン番号付けスキームを持つアプリケーションがあります。また、ソフトウェアを定期的に構築するJenkins CIサーバー(まもなくAtlassian's Bambooに置き換えられる予定)もあります。アプリケーションはバージョン番号を表示するため、コードベースのファイルの1つに書き込まれます。
バージョンをリリースする前に手動でバージョン番号を変更したくありません。現在の解決策は、コードベースのバージョン番号を変更し、それをコミットし、リポジトリにバージョン番号のタグを付け、それをプッシュし、アプリケーションを配布用にパッケージ化するJenkinsジョブがあることです。その問題は、ビルドが成功または失敗する前にバージョンをリリースすることを決定する必要があることです。
私たちがやりたいことは、これです。Jenkinsに定期的に製品をビルドさせ、ユニットテストを実行してもらいます。その後、合格したビルドを選択し、特定のバージョン番号でリリースします。
要約すると、これは私が望むプロセスです:
製品バージョンをリリースするためのベストプラクティスは何ですか?私の要求を満たすプロセスはありますか?
私たちにも同じような状況があり、私は次のようにビルド/リリースプロセスをセットアップします。
このファイルはJenkins内でビルドアーティファクトとしてアーカイブされますが、notがリポジトリにコミットされます。このように、各ビルドには後で取得できる一意のバージョン番号がありますが、バージョン番号はリポジトリで追跡されません。
リリースするために、Release
Jenkinsの仕事があります。このジョブは実際には何もビルドしませんが、どのビルドをリリースするかをパラメーターとして取り、そのビルドのリビジョンでリポジトリにタグを付け、Jenkinsのビルドをリリースとしてマークします(ビルドプロモーション機能を使用)。バージョン情報を含むファイルを使用して、タグ名にエンコードするバージョン番号を決定できます。