リリースプロセス¶
リリースの管理はできるだけクリーンな環境で行うのが簡単です。この理由により、リリースを行う際にはコードを新しいディレクトリにクローンすることを推奨します。
必要なもの¶
git とビルドのためのシステム
少なくとも他の二人の PMC メンバーによって署名された暗号鍵。これは
apache.org
の E メールアドレスに紐付いていることが好ましいですが、必ずしもそうである必要はありません。
リリース候補¶
リリースの最初のステップはリリース候補を作成することです。これは実際のリリースに先立って検証のためにコミュニティに対して配布するものです。
ドキュメント¶
Wiki 上でこれから行うリリースについてのページを作成もしくは更新してください。もしそれがメジャーもしくはマイナーリリースである場合、そのリリース用の個別のページを用意すべきです。過去のリリースページをテンプレートとして使用してください。ポイントリリースの場合は対応するリリースページの末尾に章を設けるべきです。
リリースについての告知文を書いてください。これは Wiki に記載した情報の多くと同じ内容となりますが、より簡潔なものになります。ベースとして使う例は メーリングリストのアーカイブ を確認してください。
ビルド¶
ソースディレクトリの最上位に移動してください。
Check the version in
CMakeLists.txt
. There is aproject
line near the top with the version number. Make sure that is correct for the release.Generate or update the CHANGELOG for the next release.
./tools/git/changelog.pl -o apache -r trafficserver -m X.Y.Z > CHANGELOG-X.Y.Z
Commit this file to the repository and push it to the release branch.
Execute the following commands to make the distribution files where A is the next release candidate number (start with 0).
RC=A cmake --preset release cmake --build build-release -t rel-candidate
Push the release tag to the repository.
git push <upstream repo> tag X.Y.Z-rcA
These steps will create the distribution files and sign them using your key.
Expect to be prompted twice for your passphrase unless you use an ssh key agent.
If you have multiple keys you will need to set the default appropriately
beforehand, as no option will be provided to select the signing key. The files
should have names that start with trafficserver-X.Y.Z-rcA.tar.bz2
where
X.Y.Z
is the version and A
is the release candidate counter. There
should be three such files, one with no extension and two others with the
extensions asc
, and sha512
. This will also create a signed git
tag of the form X.Y.Z-rcA
.
配布¶
The release candidate files should be uploaded to apache dists.
svn co https://dist.apache.org/repos/dist/dev/trafficserver <local-directory>
Create a directory for the next release version if necessary and then add and commit the release files produced above.
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.
The distribution files for the release candidate will be available at:
https://dist.apache.org/repos/dist/dev/trafficserver/
もし投票が成功 ( 少なくとも三つの "+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>
All three (.tar.bz2, .asc and .sha512) of the distribution files go here. If you are making a point release then you should also remove the distribution files for the previous release. Allow 24 hours for the files to be distributed through the ASF infrastructure.
The distribution files for the release will be available at:
https://dist.apache.org/repos/dist/release/trafficserver/
The Traffic Server website must be updated. There is a git repository which you can access at
https://github.com/apache/trafficserver-site
注目すべきファイルは content
ディレクトリにあります。
index.html
このファイルはフロントページです。ここで編集するのは上部の "News" セクションにあるセキュリティに関する告知の部分です。
downloads.html
Update the downloads page to adjust the links, version numbers and dates.
Commiting to the asf-site branch will deploy to the trafficserver website here:
https://trafficserver.apache.org/
告知文を更新し、必要であれば、リリースした配布ファイルを参照し、リリース候補についてのコメントを削除してください。この告知文は users と dev のメーリングリストに送信されるべきです。また、ASF の告知用メーリングリストにも送信されるべきです。これは apache.org
の E メールアドレスで行われなければなりません。
Prepare for the next minor release¶
Update the version in CMakeLists.txt
by incrementing the minor version
number. This should be the first commit of the point release after the release
tag.