バージョン管理を自動化!release-itでリリース作業を一発で済ませる方法
このソフトで何ができる?
release-itは、ソフトウェアのリリース作業をまるごと自動化してくれるコマンドラインツールです。バージョン番号の更新、Gitへのコミットとタグ付け、GitHubへのリリース作成、npmへの公開まで、ひとつのコマンドでまとめて行えます。これまで手作業でひとつひとつこなしていたリリース手順を、対話形式のウィザードに従うだけでミスなく完了できます。
どんな人におすすめ?
JavaScriptやTypeScriptでライブラリを開発している方には特に強力なツールです。たとえば以下のようなシーンで役立ちます。
- 個人でnpmパッケージを公開しており、「バージョン更新→コミット→タグ→プッシュ→npm publish」という手順を毎回手動でやっている方
- チームで開発していて、リリースのたびに手順の抜け漏れが起きてしまう方
- GitHubのリリースページを自動で作りたいが、設定が面倒で後回しにしている方
- CI/CDパイプラインにリリース処理を組み込みたいと考えているエンジニア
「コマンドひとつでリリース作業が終わる」という体験は、一度味わうと手放せなくなります。
インストール方法
プロジェクトのルートディレクトリ(package.jsonがあるフォルダ)で以下のコマンドを実行します。
かんたんセットアップ(推奨)
npm init release-it
このコマンドを実行すると、必要な設定を自動で行ってくれます。初めて使う方はこちらが便利です。
手動でインストールする場合
npm install -D release-it
インストール後、package.jsonのscriptsセクションに以下を追加します。
{
"name": "my-package",
"version": "1.0.0",
"scripts": {
"release": "release-it"
},
"devDependencies": {
"release-it": "^20.0.0"
}
}
グローバルインストール(どのプロジェクトでも使いたい場合)
npm install -g release-it
Homebrewを使っている方はこちらでもインストールできます。
brew install release-it
基本的な使い方
インストール後、プロジェクトのルートで以下のコマンドを実行するだけです。
npm run release
または直接呼び出す場合は:
npx release-it
実行すると、対話形式のウィザードが起動します。新しいバージョン番号の選択(パッチ・マイナー・メジャーなど)を案内してくれるので、矢印キーで選ぶだけです。設定に応じて、Gitコミット・タグ・プッシュ・GitHubリリース作成・npm公開の各ステップを順番に確認しながら進めてくれます。
設定ファイルはプロジェクトルートに.release-it.jsonという名前で置きます。
{
"$schema": "https://unpkg.com/release-it@20/schema/release-it.json",
"git": {
"commitMessage": "chore: release v${version}"
},
"github": {
"release": true
}
}
この設定例では、コミットメッセージをchore: release v1.2.3の形式にして、GitHubのリリースページも自動で作成するよう指定しています。
活用アイデア
1. チェンジログ(変更履歴)を自動生成する
@release-it/conventional-changelogプラグインを組み合わせると、コミットメッセージから変更履歴ファイルを自動で作成できます。「今回のリリースで何が変わったか」をユーザーに伝えるドキュメントが手間なく揃います。
npm install -D @release-it/conventional-changelog
2. CI/CDに組み込んでリリースを全自動化する
GitHub ActionsなどのCI環境でrelease-itを動かすことで、特定のブランチにマージされたタイミングで自動リリースが走るようにできます。人手を完全に介さないリリースフローが実現します。
npx release-it --ci
--ciフラグを付けると対話なしで自動実行モードになります。
3. プレリリース版(ベータ版)の管理に使う
新機能を本番リリース前に一部のユーザーに試してもらいたいとき、alphaやbetaといったプレリリース版を手軽に管理できます。
npx release-it --preRelease=beta
これで1.0.0-beta.1のような形式のバージョンが作成されます。正式リリース前の動作確認に最適です。
4. モノレポ(複数パッケージ管理)でも使える
ひとつのリポジトリに複数のパッケージが入っているモノレポ構成にも対応しています。専用のレシピが公式ドキュメントで紹介されており、大規模なプロジェクトでも柔軟に運用できます。
まとめ
release-itは「リリース作業の面倒くさい部分をすべて引き受けてくれる」ツールです。バージョン番号を手で書き換えて、コミットして、タグを打って、プッシュして……という繰り返しの作業から解放されます。
設定ファイルひとつで自分のプロジェクトに合わせたリリースフローを定義できるため、小規模な個人プロジェクトから大規模なチーム開発まで幅広く活用できます。まずはnpm init release-itでかんたんに始めてみて、慣れてきたら設定をカスタマイズしていくのがおすすめです。リリース作業の自動化は、開発体験を大きく向上させる投資のひとつといえるでしょう。