
GitHub Release を使ってリリースノートを作成してみた
こんにちは!製造ビジネステクノロジー部の小林です。
今回は、GitHub Releaseを使ってリリースノートを手動で作成する方法をご紹介します。GitHub Releaseを活用することで簡単にリリース情報を管理・共有できるようになります!
リリースノートとは?
リリースノートとは、ソフトウェアの新しいバージョンが公開される際に、そのバージョンに含まれる変更点や新機能、修正されたバグなどをユーザーや開発者に伝えるための文書です。
リリースノートがあると何が嬉しいの?
なぜリリースノートが必要なのでしょうか?
-
ユーザーへの情報提供
- ユーザーはリリースノートを見ることで、新しいバージョンで何が変わったかを把握できます
- これにより安心してアップデートを適用できます
-
開発者間の情報共有
- チーム内の開発者にとっても、各バージョンで行われた変更を追跡し、理解するための重要な記録となります
-
トラブルシューティング
- 問題が発生した際に、どのバージョンでどのような変更が加えられたかを確認することで、原因究明が容易になります
GitHub Releaseとは?
GitHub Releasesは、GitHubが提供する機能で、プロジェクトのバージョン管理とリリースプロセスを効率化します。Gitのタグと連携し、特定のコミットポイントにリリースノートやバイナリファイルを添付して公開できます。
GitHub Releaseを使うメリット
GitHub Releasesを使うと、以下のようなメリットがあります。
-
リリースの可視化
- プロジェクトのリリース履歴をGitHub上で一覧でき、どのバージョンがいつ公開されたのかが一目でわかります。
-
成果物の管理
- ソースコードのアーカイブファイル(zip, tar.gzなど)や、コンパイル済みのバイナリファイルなどをリリースに紐付けて管理できます。これにより、ユーザーは必要なファイルを簡単にダウンロードできます。
-
自動化との連携
- CI/CDツールと連携することで、ビルドされた成果物を自動的にGitHub Releasesにアップロードするといった自動化が可能です。
やってみた
それでは、実際にGitHub Releasesを使ってリリースノートを作成していきます。
タグの作成
まず、リリースしたい状態のコードにタグを付与します。タグは、Gitのリポジトリの特定のコミットに目印を付けるようなものです。
今回は、配信対象となる簡単なテキストファイルを作成し、コミット、プッシュしてからタグを付与します。
# 現在の日付をexample.txtに書き込み、ファイルを作成
$ date > example.txt
# 変更をステージング
$ git add .
# コミットメッセージと共にコミット
$ git commit -m "add example.txt"
# リモートリポジトリにプッシュ
$ git push origin HEAD
次に、作成したコミットにv1.0.0というタグを付与します。
# v1.0.0というタグを作成
$ git tag v1.0.0
作成したタグをリモートリポジトリにプッシュします。
# タグをリモートリポジトリにプッシュ
$ git push origin v1.0.0
リリースノートの作成
タグの作成が完了したら、GitHub上でリリースノートを作成します。
リポジトリ画面右側にある「Create a new release」をクリックします。
「Tag」のプルダウンをクリックし、先ほど作成した「v1.0.0」 のタグを選択します。
リリースノートのタイトルと本文を記述します。タイトルは「example」とし、今回は簡単なバグ修正のリリースノートを書いてみました。
最後に「Publish release」をクリックしてリリースノートを作成します。
リリースノート完成
あっという間にリリースノートが完成しました!
作成されたリリースには、「Assets」項目として「Source code (zip)」や「Source code (tar.gz)」が自動で生成されます。これらをクリックすると、該当するタグ時点のソースコードアーカイブファイルがダウンロードできます。これは、ユーザーが特定のバージョンのソースコードを簡単に入手できるため便利ですね。
おわりに
今回は、GitHub Releaseを利用してリリースノートを作成してみました。Gitのタグを利用して簡単に作成することができました。
Gitのタグと連携することで、手軽にリリースの管理と情報公開ができましたね。次回は、GitHub Actionsを使った自動リリースノート作成に挑戦する予定です。この記事が皆さんの開発ワークフロー改善の一助となれば幸いです。