新バージョンのリリース
-
~/.m2/settings.xml
に次の設定を含めます<?xml version="1.0" encoding="UTF-8"?> <settings> <servers> <server> <id>sonatype-nexus-snapshots</id> <username>myusername</username> <password>mypassword</password> </server> <server> <id>sonatype-nexus-staging</id> <username>myusername</username> <password>mypassword</password> </server> </servers> ... </settings>
リリース手順は現在、GitHub Actionsワークフローの実行と、macOS(64ビット)でのリリースプロセスの完了のためのいくつかのスクリプトの実行を組み合わせたものです。必要なパッケージもインストールしてください。
リリースは現在ほとんど自動化されています(将来的には完全に自動化される予定です)。リリースを開始するには、GitHub Actionsリリースワークフローを実行するだけです。ワークフローは、すべてのネイティブライブラリと通常のjarのビルドを処理します。完了すると、すべてがnexusステージングリポジトリに自動的にステージングされます。GitHub Actionsリリースワークフローを監視し、完了するまで待ちます。
Netty 4.xリリースは、AdoptOpenJDKからダウンロードできるOpenJDK8を使用して実行する必要があります。ダウンロードしてインストールしたら、インストール先を指すJAVA8_HOME
環境変数を設定します。
例:
export JAVA8_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
これが完了したら、リリースを完了する準備ができました。
まず、現在のステージング済みリリースの名前を取得します(このリリースは、事前にGitHubワークフローによってステージングされています)。
./scripts/list_staged_release.sh
このステージングIDを使用して、リリースを完了するためのスクリプトを実行できます。スクリプトは、ステージングIDを最初の引数として、タグの名前を2番目の引数として受け取ります。たとえば、Netty 4.1.64.Finalのリリースを完了する場合は、次のコマンドを実行します。
./scripts/finish_release.sh ionetty-1395 netty-4.1.64.Final
スクリプトが完了すると、Netty自体のリリースは完了し、Maven Centralに「昇格」されます。
次に、すべてのapidocsファイルとxrefファイルをNetty Webサイトにコピーします(まだWebサイトをチェックアウトしていない場合は、[Webサイトの更新|Releasing-new-version#update-the-web-site]をお読みください)。
これには、実行する必要がある別のスクリプトがあります。
./scripts/generate_docs.sh ../netty-website netty-4.1.64.Final
検証が失敗したため、scripts/finish_release.sh
が失敗する可能性があります。
[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8:rc-close (default-cli) on project netty-parent: Could not perform action: there are failing staging rules!: Staging rules failure! -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :netty-parent
この場合は、https://oss.sonatype.orgにログインして、検証失敗の原因を確認し、修正します。完了したら、スクリプトを再実行します。
公式WebサイトはAwestructで構築されています。HAMLやMarkdownなどのAwestructと関連するマークアップ言語に精通していることを確認してください。
まだ行っていない場合は、Webサイトプロジェクトをクローンします。
git clone [email protected]:netty/netty-website.git
cd netty-website
Awestructがまだインストールされていない場合は、bundlerを使用するのが最も簡単な方法です。
gem install bundler
これが完了したら、netty-website
ディレクトリでbundleを実行して、すべての依存関係がインストールされていることを確認します。これにより、必要な依存関係とAwestruct自体がすべてインストールされます。bundlerがシステム全体に依存関係をインストールすることを望まない場合は、netty-website
ディレクトリ内でbundle config set --local path .bundle
を実行することで、それらをnetty-website
ディレクトリにローカルに保持するように指示できます。
bundle
_config/site.yml
には、最新のNettyバージョンの重要なメタデータが含まれています。たとえば、次のセクションがあります。
releases:
- version: 4.1.65.Final
date: 19-May-2021
stable: stable
- version: 4.0.56.Final
date: 05-Feb-2018
stable: true
- version: 3.10.6.Final
date: 29-Jun-2016
stable: true
新しいバージョン番号とリリース日を使って更新します。
その後、リリースの詳細を含むnews/フォルダに新しいエントリを追加します。ファイル名にドット(.)または空白を含めないでください(例:OK: 2014-07-04-4-1-0-Beta1-released.html.md
NG: 2014-07-04-4.1.0.Beta1-released.html.md
)
生成されたWebサイトに新しいバージョンが表示されることを確認するために、Webサイトを生成してみてください。
これは次のように実行できます。
bundle exec awestruct -d -u https://netty.dokyumento.jp
これで、https://:4242からWebサイトにアクセスできるようになります。
すべてが期待どおりであれば、変更をコミットする時間です。
git add *
git commit -m "Release 4.1.64.Final"
git push
その後、WebサイトはGitHub Actionsによって自動的にビルドおよびデプロイされます。
TODO: 記述する
リリース手順はGitHub Actionsによって完全に自動化されています。リリースを開始するには、GitHub Actionsリリースワークフローを実行するだけです。ワークフローは、すべてのネイティブライブラリと通常のjarのビルドを処理します。完了すると、すべてがnexusステージングリポジトリに自動的にステージングされ、Central Mavenにリリースされます。
手動で行う必要はありませんが、リリースアナウンスを作成してWebサイトにプッシュすることを検討してください。
リリース手順はGitHub Actionsによって完全に自動化されています。リリースを開始するには、GitHub Actionsリリースワークフローを実行するだけです。ワークフローは、すべてのネイティブライブラリと通常のjarのビルドを処理します。完了すると、すべてがnexusステージングリポジトリに自動的にステージングされ、Central Mavenにリリースされます。
手動で行う必要はありませんが、リリースアナウンスを作成してWebサイトにプッシュすることを検討してください。
リリース手順はGitHub Actionsによって完全に自動化されています。リリースを開始するには、GitHub Actionsリリースワークフローを実行するだけです。ワークフローは、すべてのネイティブライブラリと通常のjarのビルドを処理します。完了すると、すべてがnexusステージングリポジトリに自動的にステージングされ、Central Mavenにリリースされます。
手動で行う必要はありませんが、リリースアナウンスを作成してWebサイトにプッシュすることを検討してください。
リリース手順は現在、GitHub Actionsワークフローの実行と、macOS(64ビット)でのリリースプロセスの完了のためのいくつかのスクリプトの実行を組み合わせたものです。必要なパッケージもインストールしてください。
リリースは現在ほとんど自動化されています(将来的には完全に自動化される予定です)。リリースを開始するには、GitHub Actionsリリースワークフローを実行するだけです。ワークフローは、すべてのネイティブライブラリと通常のjarのビルドを処理します。完了すると、すべてがnexusステージングリポジトリに自動的にステージングされます。GitHub Actionsリリースワークフローを監視し、完了するまで待ちます。
Netty/Incubator/Codec/Quicリリースは、AdoptOpenJDKからダウンロードできるOpenJDK8を使用して実行する必要があります。ダウンロードしてインストールしたら、インストール先を指すJAVA8_HOME
環境変数を設定します。
例:
export JAVA8_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
これが完了したら、リリースを完了する準備ができました。
まず、現在のステージング済みリリースの名前を取得します(このリリースは、事前にGitHubワークフローによってステージングされています)。
./scripts/list_staged_release.sh
このステージングIDを使用して、リリースを完了するためのスクリプトを実行できます。スクリプトは、ステージングIDを最初の引数として、タグの名前を2番目の引数として受け取ります。たとえば、netty-incubator-codec-quic 0.0.13.Finalのリリースを完了する場合は、次のコマンドを実行します。
./scripts/finish_release.sh ionetty-1398 netty-incubator-codec-quic-0.0.13.Final
スクリプトが完了すると、Netty自体のリリースは完了し、Maven Centralに「昇格」されます。