Doris SDK のリリース
Doris SDK のコードは、Doris 本体とは別の apache/doris-sdk リポジトリにあります。このドキュメントでは、Doris SDK v1.0.0 のリリースを例に、Maven Staging への公開からコミュニティ投票までの一連の手順を説明します。
リリース手順の概要
| ステップ | 目的 | 主な成果物 |
|---|---|---|
| 1. リリースの準備 | リリースに必要な事前準備(KEYS、アカウント、環境など)を完了する | GPG キー、Apache アカウント |
| 2. ブランチの準備 | リポジトリにリリースブランチを作成する | 1.0.0-release ブランチ |
| 3. Maven Staging への公開 | リリースタグを生成し、Apache Maven Staging に公開する | タグ、Staging リポジトリ |
| 4. SVN の準備 | ソースパッケージ、署名、チェックサムファイルを SVN にアップロードする | tar.gz / .asc / .sha512 |
| 5. 投票の開始 | dev@doris メーリングリストで投票を開始する | 投票メール |
| 6. リリースの完了 | 投票が可決されたら、アーカイブと告知を行う | リリースパッケージ |
1. リリースの準備
リリースの事前準備については、リリースの準備を参照してください。
2. Maven への公開
2.1 ブランチの準備
リポジトリに 1.0.0-release ブランチを作成し、そのブランチに切り替えます。
git checkout -b 1.0.0-release
2.2 Maven Staging への公開
次のコマンドを実行してリリースタグを生成します。
mvn release:clean
mvn release:prepare -DpushChanges=false
ここで、-DpushChanges=false は、実行中に新しく生成されたブランチとタグをリポジトリにプッシュしないことを意味します。
mvn release:prepare の実行後、次の三つの項目を順番に入力します。
| 入力項目 | 説明 | 例 |
|---|---|---|
| Doris SDK のバージョン | リリースするバージョン。形式は {sdk.version} | 1.0.0 |
| リリースタグ名 | ローカルに生成するタグの名前 | 1.0.0 |
| 次のバージョン | ローカルブランチの生成にのみ使用し、それ以外の意味はない | 1.0.1-SNAPSHOT |
よくある問題:
-
mvn release:prepareの実行中に GPG のパスフレーズを求められる場合があります。 -
gpg: no valid OpenPGP data foundというエラーが表示された場合は、次のコマンドを実行してから再試行します。export GPG_TTY=$(tty)
mvn release:prepare が成功すると、ローカルにタグとブランチが生成され、現在のブランチに二つのコミットが追加されます。
- 最初のコミットは、新しく生成されたタグに対応します。
- 二つ目のコミットは、次のバージョンのブランチに対応します。
git log で確認できます。
ローカルのタグが正しいことを確認したら、タグをリポジトリにプッシュします。
git push upstream --tags
ここで、upstream は apache/doris-sdk リポジトリを指します。
最後に、次のコマンドでビルド成果物を Maven Staging に公開します。
mvn release:perform
コマンドが成功すると、公開したバージョンを Apache Maven Staging Repositories で確認できます。

注意: 公開する成果物には .asc 署名ファイルが含まれている必要があります。
問題が発生した場合は、次の順序でロールバックします。
- ローカルのタグを削除します。
- リポジトリ上のタグを削除します。
- ローカルに新しく生成された二つのコミットを削除します。
- Staging Repository のページでステージングを
dropします。 - 上記の手順をやり直します。
確認が終わったら、ページの close ボタンをクリックして Staging リリースを完了します。
2.3 SVN の準備
2.3.1 SVN リポジトリのチェックアウト
svn co https://dist.apache.org/repos/dist/dev/doris/
2.3.2 タグのソースのパッケージ化と署名の生成
1.0.0 を例に示します。他のタグでも操作は同様です。
git archive --format=tar 1.14_2.12-1.0.0 --prefix=apache-doris-sdk-1.0.0-src/ | gzip > apache-doris-sdk-1.0.0-src.tar.gz
gpg -u xxx@apache.org --armor --output apache-doris-sdk-1.0.0-src.tar.gz.asc --detach-sign apache-doris-sdk-1.0.0-src.tar.gz
sha512sum apache-doris-sdk-1.14_2.12-1.0.0-src.tar.gz > apache-doris-sdk-1.0.0-src.tar.gz.sha512
macOS では、shasum を sha512sum の代わりに使用します。
shasum -a 512 apache-doris-sdk-1.0.0-src.tar.gz > apache-doris-sdk-1.0.0-src.tar.gz.sha512
最終的に、次の三つのファイルができます。
apache-doris-sdk-1.0.0-src.tar.gz
apache-doris-sdk-1.0.0-src.tar.gz.asc
apache-doris-sdk-1.0.0-src.tar.gz.sha512
2.3.3 SVN へのアップロード
この三つのファイルを SVN の doris/doris-sdk/1.0.0/ ディレクトリに移動します。最終的な SVN のディレクトリ構成は次のとおりです。
├── 1.2.3-rc01
│ ├── apache-doris-1.2.3-src.tar.gz
│ ├── apache-doris-1.2.3-src.tar.gz.asc
│ ├── apache-doris-1.2.3-src.tar.gz.sha512
...
├── KEYS
├── doris-sdk
│ └── 1.0.0
│ ├── apache-doris-sdk-1.0.0-src.tar.gz
│ ├── apache-doris-sdk-1.0.0-src.tar.gz.asc
│ └── apache-doris-sdk-1.0.0-src.tar.gz.sha512
ここで、1.2.3-rc01 は Doris 本体のリポジトリ用のディレクトリで、doris-sdk/1.0.0 には今回のリリースの内容が格納されます。
KEYS ファイルの準備手順については、リリースの準備を参照してください。
2.4 投票
dev@doris.apache.org メーリングリストで投票を開始します。次のメールテンプレートを使用します。
Hi All,
This is a call for the vote to release Apache Doris-SDK 1.0.0
The git tag for the release:
https://github.com/apache/doris-sdk/releases/tag/1.0.0
Release Notes are here:
https://github.com/apache/doris-sdk/blob/1.0.0/CHANGE-LOG.txt
Thanks to everyone who has contributed to this release.
The release candidates:
https://dist.apache.org/repos/dist/dev/doris/doris-sdk/1.0.0/
KEYS file is available here:
https://downloads.apache.org/doris/KEYS
To verify and build, you can refer to following link:
https://doris.apache.org/community/release-and-verify/release-verify
The vote will be open for at least 72 hours.
[ ] +1 Approve the release
[ ] +0 No opinion
[ ] -1 Do not release this package because …
3. リリースの完了
投票が可決されたら、残りのリリース手順についてリリースの完了を参照してください。
付録: SNAPSHOT の公開
Snapshot は Apache の正式なリリースバージョンではなく、リリース前のプレビューにのみ使用します。PMC で協議して承認された後、Snapshot バージョンを公開できます。
Doris SDK のディレクトリに移動して、次のコマンドを実行します。
mvn deploy
公開した Snapshot バージョンは次の場所で確認できます。
https://repository.apache.org/content/repositories/snapshots/org/apache/doris/doris-sdk/
FAQ
Q1: mvn release:prepare が gpg: no valid OpenPGP data found で失敗する
GPG が現在の端末に紐付いていません。export GPG_TTY=$(tty) を実行して再試行します。
Q2: Staging 段階の close が No public key で失敗する
GPG の公開鍵がキーサーバーにアップロードされていません。次のコマンドを実行して、公開鍵をパブリックキーサーバーに同期します。
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys <KEY_ID>
<KEY_ID> は gpg -k で確認できます。
Q3: 操作を間違えた場合、どうすればロールバックできますか?
次の手順を順番に実行します。
- ローカルのタグを削除します:
git tag -d <tag>。 - リモートのタグを削除します:
git push upstream --delete <tag>。 - ローカルの二つのリリースコミットを取り消します。
- Staging Repositories のページでステージングを
dropします。 mvn release:prepareとmvn release:performを再実行します。