GitHubのリリース機能を使用してプログラムの公開&バージョン管理を行う
GitHubにはリリースという、自分が作成したプログラムなどを各リリース(バージョン)毎パッケージ化して、公開する機能があります。 また、パッケージを公開しなくてもリリースノートとして使用したりとバージョンの管理がより分かりやすくなります。
こちらは私が管理をお手伝いしているiRICのNays3Dvというソルバーのリポジトリです。 ここではソルバーのバージョンアップの度にリリースを作成し、どのような変更をしたかのコメントを残し、そのバージョンのプログラム一式をzipにまとめたものをDL出来るようにしています。
https://github.com/iRICsolvers/v4_nays3dv/releases
手順
リリースを作成する際にはGitのタグが必要となります。
そのため、全体の手順としては以下のようになります。
リリースを作成したい時点のコミットにタグを作成
タグに対してGitHubでリリースを作成
はじめに
お手頃なリポジトリをご用意ください。
私は中身はダミーデータですが、以下のようなコミットログのあるリポジトリを用意しました。 mainにマージしているコミットがバージョンアップのタイミングのイメージです。
タグを作成
対象のローカルリポジトリをSource Treeで開く
コミットにタグを作成する
タグ名 にタグの名前を記入します。名前は分かりやすくリリース時のバージョン番号などをつけるとよいかと思います。
名前を入力したら タグを追加 をクリックしてタグを追加します。
タグが追加されるとコミットログにもタグが表示されています。
この手順を繰り返してリリースを作成したいコミット全てにタグをつけましょう。
リモートリポジトリにタグがプッシュされると、GitHubのリポジトリのページから作成されたタグを確認することができます。
リリースを作成
既にリリースがある場合
既にリリースがある場合には以下のようにリリースの一覧が表示されるので :Draft a new release をクリックします。
リリースの編集画面が表示されるので、内容を入力して Publish release でリリースを作成します。 リリース画面の詳細は リリース編集画面の説明 を読んでください。
リリースが作成されました。 同様の手順を繰り返してリリースを作成してください。
リリース編集画面の説明
Choose a tag
Target
ブランチの場合はブランチの指しているコミットにタグを作成します。
直近のコミットタブでは直近のコミット10件程度の中からコミットを選択可能です。それより前のコミットは選択できません。
Previous tag
Generate release note
.github に release.yml の作成とプルリクエストを利用したマージをしておく必要があります。詳しくは公式ドキュメントをご確認ください。
Release title
リリースのタイトルを入力します。
Describe this release
GitHubで使用できる記法などの詳細は公式ドキュメントをご覧ください。
絵文字も使用できます。
Attach binaries by dropping them here or selecting them
Set as a pre-release
作成するリリースが正式公開版ではい場合にチェックを入れます。
Set as the latest release
作成するリリースが最新のリリースの場合にチェックを入れます。 チェックを入れない場合GitHub側が自動でリリースの順番を設定します。
Publish release
編集中のリリースを作成します。
Save draft
編集中のリリースを下書きとして保存します。