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プロジェクト向け。

試してみる — Semantic Release Config Builder

フルツールを開く