npm公開なしのsemantic-release
npmに公開しないプロジェクト向けsemantic-release設定。npmPublish: falseで自動バージョニングとGitHubリリースをnpmレジストリとの連携なしに実現。
Plugin Configuration
詳細な説明
npm公開なしのバージョニング
すべてのプロジェクトがnpmレジストリへの公開を必要とするわけではありません。プライベートアプリケーション、Docker専用プロジェクト、非JavaScriptプロジェクトでもsemantic-releaseの自動バージョニングの恩恵を受けられます。
設定
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["@semantic-release/npm", {
"npmPublish": false
}],
"@semantic-release/github"
]
}
npmプラグインを残す理由
npmPublish: falseでも、npmプラグインは以下を行います:
- package.jsonの
versionフィールドを更新 - package-lock.jsonを更新
- リポジトリのバージョンがリリースタグと一致することを保証
npmPublish: falseのユースケース
- Dockerやクラウドサービス経由でデプロイされるWebアプリケーション
- レジストリ公開が不要な内部ツール
- バージョニングにsemantic-releaseを使用するGo、Rust、Pythonプロジェクト
ユースケース
npmレジストリに何も公開せずに自動セマンティックバージョニングとGitHubリリースが必要なWebアプリケーション、マイクロサービス、非JavaScriptプロジェクト向け。