リリースプロセス¶
リリースの管理はできるだけクリーンな環境で行うのが簡単です。この理由により、リリースを行う際にはコードを新しいディレクトリにクローンすることを推奨します。
必要なもの¶
git とビルドのためのシステム
少なくとも他の二人の PMC メンバーによって署名された暗号鍵。これは
apache.orgの E メールアドレスに紐付いていることが好ましいですが、必ずしもそうである必要はありません。
リリース候補¶
リリースの最初のステップはリリース候補を作成することです。これは実際のリリースに先立って検証のためにコミュニティに対して配布するものです。
ドキュメント¶
これから行うリリースでの変更点について情報を収集してください。CHANGES ファイルから始めるのが良いでしょう。最後のリリース以降のコミットを確認してもよいでしょう。これの主な目的は最後のリリース以降の重要な変更の一覧を生成することです。
Wiki 上でこれから行うリリースについてのページを作成もしくは更新してください。もしそれがメジャーもしくはマイナーリリースである場合、そのリリース用の個別のページを用意すべきです。過去のリリースページをテンプレートとして使用してください。ポイントリリースの場合は対応するリリースページの末尾に章を設けるべきです。
リリースについての告知文を書いてください。これは Wiki に記載した情報の多くと同じ内容となりますが、より簡潔なものになります。ベースとして使う例は メーリングリストのアーカイブ を確認してください。
ビルド¶
ソースディレクトリの最上位に移動してください。
Check the version in
CMakeLists.txt. There is aprojectline near the top with the version number. Make sure that is correct for the release.Execute the following commands to make the distribution files where A is the next release candidate number (start with 0).
cmake --preset release RC=A cmake --build build-release -t rel-candidate
これらのステップにより、配布するファイルの作成とそれらに対するあなたの鍵による署名が行われます。SSH の鍵エージェントを使用していなければ、二回パスフレーズを尋ねられるはずです。もし複数の鍵を持っている場合は、署名に使う鍵を選択するオプションは無いので、予めデフォルトの鍵を適切に設定しておく必要があります。作成されたファイルの名前は trafficserver−X.Y.Z−rcA.tar.bz2 で始まり、X.Y.Z はバージョン、そして A はリリース候補の連番になります。そのようなファイルが四つあり、一つは拡張子無し、他の三つは asc、md5、sha1 という拡張子を持っているはずです。この手順は 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" の投票が存在しないこと ) した場合は、 公式リリース に進んでください。さもなければ リリース候補 の手順を繰り返してください。
公式リリース¶
配布ファイルを次のコマンドでビルドしてください。
cmake --build build-release -t release
Be sure to not have changed anything since the release candidate was built so
the checksums are identical. This will create a signed git tag of the form
X.Y.Z and produce the distribution files.
配付ファイルは 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 のリリースページもリリースしたファイルを向くように更新してください。
告知文を更新し、必要であれば、リリースした配布ファイルを参照し、リリース候補についてのコメントを削除してください。この告知文は users と dev のメーリングリストに送信されるべきです。また、ASF の告知用メーリングリストにも送信されるべきです。これは apache.org の E メールアドレスで行われなければなりません。
最後に、リリースを終えたら各種ファイルを更新してください。:
master とリリースブランチの
STATUSファイルに今回のバージョンを含めてください。CHANGESファイルに次のバージョンのヘッダを追加してください。