リリースプロセス

リリースの管理はできるだけクリーンな環境で行うのが簡単です。この理由により、リリースを行う際にはコードを新しいディレクトリにクローンすることを推奨します。

必要なもの

  • git とビルドのためのシステム

  • 少なくとも他の二人の PMC メンバーによって署名された暗号鍵。これは apache.org の E メールアドレスに紐付いていることが好ましいですが、必ずしもそうである必要はありません。

リリース候補

リリースの最初のステップはリリース候補を作成することです。これは実際のリリースに先立って検証のためにコミュニティに対して配布するものです。

ドキュメント

これから行うリリースでの変更点について情報を収集してください。CHANGES ファイルから始めるのが良いでしょう。最後のリリース以降のコミットを確認してもよいでしょう。これの主な目的は最後のリリース以降の重要な変更の一覧を生成することです。

Wiki 上でこれから行うリリースについてのページを作成もしくは更新してください。もしそれがメジャーもしくはマイナーリリースである場合、そのリリース用の個別のページを用意すべきです。過去のリリースページをテンプレートとして使用してください。ポイントリリースの場合は対応するリリースページの末尾に章を設けるべきです。

リリースについての告知文を書いてください。これは Wiki に記載した情報の多くと同じ内容となりますが、より簡潔なものになります。ベースとして使う例は メーリングリストのアーカイブ を確認してください。

ビルド

  1. ソースディレクトリの最上位に移動してください。

  2. configure.ac に書かれているバージョンを確認してください。設定する必要のある TS_VERSION_STS_VERSION_N という二つの値は上のほうにあります。

  3. トップレベルの Makefile.am に書かれている RC 変数を確認してください。これはポイントリリースの値であるはずです。この値はリリース候補ごとに変更される必要があります。最初の候補は 0 ( ゼロ ) です。

  4. 以下のコマンドを実行して配布するファイルを作成してください。

    autoreconf -i
    ./configure
    make rel-candidate
    

これらのステップにより、配布するファイルの作成とそれらに対するあなたの鍵による署名が行われます。SSH の鍵エージェントを使用していなければ、二回パスフレーズを尋ねられるはずです。もし複数の鍵を持っている場合は、署名に使う鍵を選択するオプションは無いので、予めデフォルトの鍵を適切に設定しておく必要があります。作成されたファイルの名前は trafficserver−X.Y.Z−rcA.tar.bz2 で始まり、X.Y.Z はバージョン、そして A はリリース候補の連番になります。そのようなファイルが四つあり、一つは拡張子無し、他の三つは ascmd5sha1 という拡張子を持っているはずです。この手順は X.Y.Z−rcA という形式の git のタグも作成します。

配布

リリース候補のファイルはどこか公開されたストレージにアップロードされるべきです。people.apache.org 上にあるあなた個人のストレージはこれに妥当な場所です。

Send the release candidate announcement to the users and dev mailing lists, noting that it is a release candidate and providing a link to the distribution files you uploaded. This announcement should also call for a vote on the candidate, generally with a 72 hours time limit.

もし投票が成功 ( 少なくとも三つの "+1" の投票と "−1" の投票が存在しないこと ) した場合は、 公式リリース に進んでください。さもなければ リリース候補 の手順を繰り返してください。

公式リリース

配布ファイルを次のコマンドでビルドしてください。

make release

チェックサムが同一であり、リリース候補のビルド以降に何も変更がないことを確認してください。この手順により X.Y.Z という形式の署名された git のタグが作成され、配付ファイルが生成されます。このタグを次のコマンドで ASF のリポジトリにプッシュしてください。

git push origin X.Y.Z

origin は ASF のリモートリポジトリの名前であると仮定しており、もし元々 ASF のリポジトリをクローンしてきたのであれば適切です。

配付ファイルは SVN リポジトリに追加されなければなりません。これには次のコマンドでアクセスできます。

svn co https://dist.apache.org/repos/dist/release/trafficserver <local-directory>

全四つの配付ファイルはここに入ります。もしポイントリリースをする際には過去のリリースの配付ファイルを削除すべきです。配付ファイルが ASF のインフラを通じて配信されるまで 24 時間待ってください。

Traffic Server のウェブサイトを更新しなければなりません。これは次のコマンドでアクセスできる SVN リポジトリ上にあります。

svn co https://svn.apache.org/repos/asf/trafficserver/site/trunk <local-directory>

注目すべきファイルは content ディレクトリにあります。

index.html

このファイルはフロントページです。ここで編集するのは上部の "News" セクションにあるセキュリティに関する告知の部分です。

downloads.en.mdtext

ダウンロードページが新しいファイルを向くように更新してください。

これらの変更を行ったら、それらをコミットし、次のコマンドを実行してください。

publish.pl trafficserver <apache-id>

これは people.apache.org のホスト上で行ってください。

もし必要であれば、Wiki のリリースページもリリースしたファイルを向くように更新してください。

告知文を更新し、必要であれば、リリースした配布ファイルを参照し、リリース候補についてのコメントを削除してください。この告知文は usersdev のメーリングリストに送信されるべきです。また、ASF の告知用メーリングリストにも送信されるべきです。これは apache.org の E メールアドレスで行われなければなりません。

最後に、リリースを終えたら各種ファイルを更新してください。:

  • master とリリースブランチの STATUS ファイルに今回のバージョンを含めてください。

  • CHANGES ファイルに次のバージョンのヘッダを追加してください。

  • configure.ac に次のバージョンを設定してください。

  • トップレベルにある Makefile.amRC の値を 0 に変更してください。