このドキュメントでは、KMGコアのリリース手順について説明します。
- GitHub アカウントを持っていること
- リポジトリへのプッシュ権限があること
- 以下のツールがインストールされていること:
- Java 21
- Maven 3.x
- Git
- GitHub CLI(オプション:プルリクエストの自動作成に必要)
リリースは以下の2つの方法で実行できます:
scripts/release.bat
を使用して自動的にリリースを実行できます。
release.bat [作業ブランチ] [リリースブランチ] [バージョン]
# 例:release.bat features/main main 1.0.0
スクリプトは以下の処理を自動的に実行します:
- 作業ブランチの作成と切り替え
- pom.xml のバージョン更新
- 変更のコミットとプッシュ
- プルリクエストの作成(GitHub CLI使用時)
- タグの作成とプッシュ
-
作業ブランチを作成
git checkout -b features/main-vX.Y.Z
-
pom.xml のバージョンを更新
mvn versions:set -DnewVersion=X.Y.Z
-
変更をコミットしプッシュ
git add pom.xml git commit -m "バージョンをX.Y.Zに更新" git push origin features/main-vX.Y.Z
-
プルリクエストを作成し、マージ
-
タグを作成しプッシュ
git tag vX.Y.Z git push origin vX.Y.Z
プルリクエスト作成時に以下の検証が自動実行されます:
- Mavenビルド
- JUnitテスト実行
- テストカバレッジチェック(100%必須)
- 依存関係のセキュリティチェック
タグのプッシュまたはGitHubリリースの作成時に以下が自動実行されます:
- Mavenビルドとテスト
- GitHub Packagesへの成果物の公開
- GitHubリリースの作成
- JARファイルの添付
- テストレポートの生成
- カバレッジレポートの生成
-
テストカバレッジが100%未満の場合
- 不足しているテストを追加
- カバレッジレポートで未テスト箇所を確認
-
依存関係のセキュリティ警告
- 依存ライブラリのバージョンを更新
- 代替ライブラリの検討
-
GitHub Packagesへの公開失敗
- GitHub トークンの権限を確認
- Maven設定の確認
- バージョン番号はセマンティックバージョニングに従う
- リリースブランチへのマージは必ずプルリクエストを通じて行う
- 重要な変更がある場合はCHANGELOG.mdを更新する