GitHubで配布ファイルを公開する方法|ZIP作成・タグ・Release手順

GitHub

GitHub で配布ファイルを公開する場合は、コードを push するだけでなく、Release を作成して ZIP や exe などの配布物を添付するのが一般的です。Release を使うことで、どのバージョンで何を公開したのかが分かりやすくなり、利用者も必要なファイルを迷わず取得しやすくなります。

Release は GitHub の画面から手動でも作成できますが、GitHub CLI の gh コマンドを使えば、コマンドラインからまとめて操作できます。公開作業を定型化しやすいため、更新のたびに同じ流れで進めたい場合に便利です。

zipファイルを作成

ZIP ファイルを作成する方法はいくつかありますが、Windows では Compress-Archive と tar を使う方法が分かりやすいです。どちらも ZIP を作成できますが、指定する対象が少し違います。ここでは、現在のフォルダ全体を圧縮する場合と、特定のフォルダだけを圧縮する場合のコマンド例を紹介します。なお、以下のバージョン番号やフォルダ名、ファイル名はすべて例です。

現在のフォルダ内容を ZIP 化する

Compress-Archive を使う場合は、現在のフォルダ内の内容をまとめて ZIP 化できます。

Compress-Archive -Path ".\*" -DestinationPath ".\sample-app-0.0.0.zip" -Force

現在のフォルダ内にあるファイルやフォルダを ZIP 化するコマンドです。すでに同名の ZIP がある場合でも、-Force によって上書きできます。

現在のフォルダを ZIP 化する

tar を使って現在のフォルダを ZIP 化する場合は、次のように実行します。

tar -acf sample-app-0.0.0.zip .

tar -a -c -f dist\PC-Spec-Tool-Portable-1.0.1.zip -C dist\win-unpacked *

現在のフォルダを ZIP 化するコマンドです。最後の . は「今いるフォルダ」を表しています。

特定のフォルダを ZIP 化する

特定のフォルダだけを ZIP 化したい場合は、圧縮対象としてフォルダ名を指定します。

tar -acf sample-portable-0.0.0.zip sample-folder

sample-folder フォルダだけを ZIP 化するコマンドです。ポータブル版のように、特定の配布用フォルダだけをまとめたい場合に使えます。

このように、フォルダ全体をまとめて圧縮したい場合は Compress-Archivetar -acf ... .、特定のフォルダだけを圧縮したい場合は tar -acf ... フォルダ名 という形で使い分けると分かりやすいです。7. タグを作ってリモートへpush(バージョンの“印”)

タグを作成する

Release を作成する前に、タグを作成して GitHub に push します。

git tag v0.1.0
git push origin v0.1.0

一方、GitHub の画面から Release を作成した場合は、その時点で GitHub 側にタグが作成されています。
そのタグをローカルに取り込みたい場合は、次のコマンドを実行します。

git fetch --tags

タグ一覧を確認する場合は、次のコマンドを使います。

git tag

Release を作成する

gh release create で Release を作成します。タグ名、タイトル、説明文をまとめて指定できます。Markdown で入れたいなら、GitHub の Release 画面で鉛筆アイコンから編集するのが一番簡単です。

次に、配布用の ZIP ファイルを Asset として追加する場合は、gh release upload を使います。

gh release create <タグ名> --title "<リリースタイトル>" --notes "<説明文>"
gh release upload <タグ名> "<添付ファイルのパス>"

配布ファイルも一緒に追加する

Release作成時に、配布ファイルも指定できます。

gh release create <タグ名> "<添付ファイルのパス1>" "<添付ファイルのパス2>" --title "<リリースタイトル>" --notes "<説明文>"

引数ごとの意味です。

  • <タグ名>
    Release に付けるバージョン名(例:v1.0.0)
  • “<添付ファイル1>”
    一緒に公開する1つ目のファイル(例:インストール版のファイルなど)
  • “<添付ファイル2>”
    一緒に公開する2つ目のファイル(例:ポータブル版のファイルなど)
  • –title “<リリースタイトル>”
    Release ページの見出し
  • –notes “<説明文>”
    Release の説明文

Release のタイトルや説明を修正する

公開後にタイトルや説明文を修正したい場合は、gh release edit を使います。

gh release edit vx.x.x --title "vx.x.x" --notes "## vx.x.x`n- 追加:〇〇`n- 修正:△△"

このように、GitHub CLI を使えば、Release の作成、配布ファイルの追加、説明文の修正までをコマンドで一通り管理できます。ブラウザで毎回手動操作するよりも流れをそろえやすく、リリース作業を整理しやすいのが利点です。

まとめ

GitHub Releases を使うと、配布ファイルをバージョンごとに整理して公開できます。gh release create で Release を作成し、gh release upload で配布ファイルを追加し、必要に応じて gh release edit で説明を修正します。配布物を継続して公開する場合は、GitHub CLI を使った方法を覚えておくと便利です。

コメント

タイトルとURLをコピーしました