Release Please Action (v4)でリリースを自動作成
はじめに
Release Please Actionは、Googleのオープンソース(OSS)であり、PRベースのリリースフローを自動化します。
Release Pleaseは、GitHubのアクションとして実行できるツールであり、リポジトリのコミット履歴を調べます。バージョンの自動更新や、リリースノートの生成を自動化し、リリースプルリクエストを作成します。
本記事では、Release Please Actionの概要、主要な機能、そしてその設定方法と使い方について、具体的なステップとともに詳しく説明しています。
Release Pleaseについて
Release Pleaseは、GitHubリポジトリ内のコミット履歴からConventional Commitメッセージを解析し、CHANGELOGを生成し、GitHubリリースの作成やバージョンの更新を自動化するツールです。このツールは、リリースプロセスを効率化し、一貫性を持たせることを目的としています。
主な機能
- リリースPRの維持: Release Pleaseは、リリースのためのプルリクエストを自動的に作成し、維持します。これにより、Node.jsの**やPythonの*などのバージョニングも自動化されます。
- マージ時のCHANGELOG更新: マージされたコミットからCHANGELOGを自動的に更新し、追跡と記録を容易にします。
- バージョンタグ付けとGitHubリリース作成: バージョンのタグ付けを自動化し、リリースノートと一緒にGitHubリリースを作成します。
設定方法
Release Pleaseを使用するための主な方法は以下の2つです:
- GitHub Actions (推奨): 後述するRelease Please Actionを使用して、ブランチへのpushをトリガーにして動作させます。Release Please Actionが作成したPull Requestをマージすることでリリースが作成され、npmへの自動公開などの設定も可能です。また、モノレポにも対応しています。
- CLI: コマンドラインインターフェースを使用して、ローカル環境やCI/CDパイプラインでRelease Pleaseを実行することも可能です。
Release Please Actionについて
Release Please Actionは、GitHub Actions上でRelease Pleaseを実行するためのツールです。リポジトリにコミットがプッシュされるたびに、コミット履歴を解析し、必要なバージョン更新やCHANGELOGの生成、リリースプルリクエストの作成などを行います。
Release Please Actionの設定方法
Release Please Actionを使用するには、以下の手順に従って設定を行います。
- リポジトリ内でディレクトリを作成します(すでに存在している場合はスキップ)。
- ディレクトリ内に、という名前の新しいファイルを作成します。
- ファイルに以下のコードを追加します:
- ファイルに以下のコードを追加します。
は、対象のプロジェクトのrootディレクトリを指定します。
- ファイルに以下のコードを追加します。
以上で、Release Please Actionの設定が完了しました。これにより、リポジトリ内のコミット履歴を解析し、必要なバージョンの更新やCHANGELOGの生成、リリースプルリクエストの作成が自動化されます。
詳細な設定方法は公式ドキュメントをご確認ください。
Release Please Actionの使い方
Release Please Actionを使用するためには、以下の手順に従います。
- コード実装のプルリクエストを作成します。
- プルリクエストのタイトルに、Conventional Commitメッセージを追加します(例: , , )。
- プルリクエストをSquash Mergeします。
- Release Please Actionが自動的にリリース用のプルリクエストを作成します。
- 作成されたリリース用のプルリクエストをマージすることで、自動的にGitHub Releaseが作成されます。
以上で、Release Please Actionの使い方が完了しました。
詳細な設定方法や使い方については、公式のドキュメントやGitHubリポジトリを参考にしてください。
Release Pleaseのメリット
- 自動でCHANGELOG生成: コミット履歴を解析し、変更内容に基づいてCHANGELOGを自動生成します。
- バージョン管理の簡素化: バージョン番号の増分とタグ付けを自動化し、手動でのエラーを減らします。バージョン番号を考える手間がなくなり、忘れがちな, のバージョン更新も自動で行います。
さいごに
Release Pleaseは、複雑でエラーが発生しやすいリリースプロセスを簡素化し、効率化するための強力なツールです。リリースの自動化により、開発チームはより価値のある作業に集中し、製品の品質を一貫して向上させることができます。GitHub Flowやタグベースリリースとの組み合わせも強力です。ぜひ試してみてください。
追記
はPublic archiveになりました。
に切り替えてください。
設定は簡単でGitHub Actionsのusesの記載を変更するだけです