Show page source of ReleaseManagement #72829

= リリース管理(草案) =
このページでは、TracLightningのリリースマネージメントについて記述します。読者対象は、TracLightningのリリースマネージャです。

== リリースマネージャ ==
リリースマネージャは、TracLightningをリリースすることができます。現在のところ、下記の開発者がリリースマネージャです。

 * id:jun66j5 
 * id:okamototk
 * id:kanu

次のリリースのリリースマネージャは id:jun66j5 さんです。

== ナンバリング ==
ここでは、バージョンのナンバリングについて説明します。
 * メジャーバージョン
   * Tracのバージョンが上がるとメジャーバージョンを上げます。
   * 例えば、TracLight1.xはtrac 0.10、TracLightning2.xは trac0.11、TracLightning3.xはtrac0.12に対応しています。
 * マイナーバージョン
   * 機能追加を行った場合、マイナーバージョンを上げます。
   * マイナーバージョンが上がった場合、既存のプロジェクトへ対してアップグレードが必要なことがあります。
 * サブマイナーバージョン
   * バグフィックスやささいな機能追加を行った場合、サブマイナーバージョンを上げます。
   * サブマイナーバージョンを上げた場合、アップグレードしても既存のプロジェクトへ影響を及ぼすことはありません。

正式リリース時には、コンポーネントとして'''trac-lightning'''を指定します。また、チケット対応、コミット時に
'''解決方法を解決済'''に、'''正式リリース時にチケットをクローズ'''にします。

== 次バージョンのリリース日について ==
 * リリースマネージャは、次バージョンのタスクを整理し、リリース予定日を決めます。
 * リリース予定日は、前のバージョンがリリースされてから1ヶ月~3ヶ月後に設定します。次のバージョンで対応するチケットの数と稼動の取れ具合を考慮してリリース日を設定します。
 * ただし、重大なバグが発生した場合、できるだけ早くリリースします。

== α、β、rc版について ==
リリースをする前に必要に応じて、α版、β版、rc版をリリースすることができます。'''マイナーバージョン以上のバージョンアップ時は開発版を必ずリリースする'''ようにします。リリース時に'''コンポーネントとしてtrac-lightning-devを選択'''します。なお、'''開発版リリース時にはまだチケットはクローズしません'''。チケットに対応した時点で'''解決方法を「解決済み」'''にするのは問題ありません。
 * α版
   * 次のリリースまでの途中のマイルストーンとしてリリースします。
   * 今後大きな機能変更がある可能性があります。
   * 不安定でバグが沢山残っている可能性があります。
   * 主に開発者及びへヴィーユーザー向けです。
 * β版
   * 機能確認やテスターにテストして貰うためにリリースします。
   * 今後若干の機能変更がある可能性があります。
   * バグが残っている可能がありますが、致命的なバグは多分ありません。
   * テスター向けです。β版をリリースしたら、'''バグ報告や機能追加を要求したユーザに機能確認をしてもらうように依頼します。'''
 * rc版
   * リリース前の最終確認用のリリースです。テスター向けです。
   * 殆どバグは枯れていますが、若干バグが残っている場合もあります。
   * 基本的には、ささいなバグフィックス後、正式版をリリースします。

== バージョンの変更時のソースの変更 ==
バージョンを変更する際は、`set-version.cmd` で以下のように実行することで必要なファイルを書き換えられるようになっています。

{{{
C> set-version.cmd 3.1.3rc1
}}}

変更になる箇所は、以下の部分です。

 * trac.iss
   * {{{AppVerName=....}}} の部分
 * install/replace/trac.ini.in
   * footer の部分

== リリース作業 ==
 1. 上記のバージョンを確認します。
 2. ISCC 環境変数を Inno Setup のコンパイラに設定し、build.cmd を実行します。
    * ISCC 環境変数を設定しない場合、Inno Setup をデフォルトの場所にインストールしたと仮定して {{{%ProgramFiles%\Inno Setup 5\iscc.exe}}} を使います。
    * trac.iss と install/replace/trac.ini.in のバージョン情報に差異があるとエラーになります。
 3. 出来上がったバイナリの名前がバージョン情報が付与されているかを確認します。(例えば、{{{TracLightning-3.1.2rc1.exe}}})
 4. sf.jpの「ダウンロード」→「管理」からバイナリをリリースします。コンポーネントは、trac-lightningもしくはtrac-lightning-dev(開発版)を利用のこと
 5. hg tagでバージョンのタグをうち、pushします。(ex. hg tag 3.1.2rc1)




== 情報共有について ==
大きな変更を加えたり、他の開発者と情報共有する際には wiki:Development を利用することにします。