semantic-releaseのプレリリースブランチ設定
beta、alpha、nextブランチを含む複数リリースチャネルのsemantic-release設定。非mainブランチから1.0.0-beta.1のようなプレリリースバージョンを公開。
Basic Configuration
詳細な説明
マルチブランチプレリリース設定
semantic-releaseは複数のリリースチャネルをサポートし、mainの安定リリースを維持しながらフィーチャーブランチからプレリリースバージョンを公開できます。
設定
{
"branches": [
"main",
{"name": "next", "prerelease": true},
{"name": "beta", "prerelease": true},
{"name": "alpha", "prerelease": true}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/npm",
"@semantic-release/github"
]
}
プレリリースバージョンの仕組み
各ブランチは異なるバージョン番号を生成します:
| ブランチ | バージョン例 | npmタグ |
|---|---|---|
| main | 1.2.0 | latest |
| next | 1.3.0-next.1 | next |
| beta | 1.3.0-beta.1 | beta |
| alpha | 1.3.0-alpha.1 | alpha |
ディストリビューションタグ
npmに公開する際、各ブランチは独自のディストリビューションタグで公開されます。ユーザーは特定のチャネルを指定してインストールします:
npm install my-package # latest (main)
npm install my-package@next # nextチャネル
npm install my-package@beta # betaチャネル
プロモーションフロー
機能はブランチを通じて流れます:alpha -> beta -> next -> main。nextをmainにマージすると、semantic-releaseはプレリリースバージョンから安定リリースを作成します。
ユースケース
段階的ロールアウトが必要なライブラリやフレームワーク向け。alphaでテスト、betaで安定化、安定リリースへのプロモーション。プレリリースフェーズでコミュニティフィードバックを収集するオープンソースプロジェクトに人気。