====== GitHub タグとリリースの作成 ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-07-02// [[github:top|GitHub に戻る]] 本章は、「[[github:branch|GitHub Eclipseによるブランチの操作]]」の続編です。今回はEclipseによるタグの作成と、GitHubによるリリースの作成について説明します。タグの作成に関しては、社内のGitサーバーをご利用の場合もEclipseの操作は同じだと思います。 [[https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0|タグ]]はGitの機能で、コミットに付けられた名前です。Gitのコミットはハッシュ値によって識別されますが、タグはこのハッシュ値の別名と考えると分かり易いかもしれません。Gitから必要なバージョンを取得するにるには、ブランチやタグ(またはコミットハッシュ値)が使用できます。GitHubではタグの付け方は、[[https://semver.org/lang/ja/|セマンティック バージョニング]]に準拠することが推奨されています。 一方、[[https://docs.github.com/ja/github/administering-a-repository/about-releases|リリース]]の方はGitHubの機能です。リリースは、ソフトウェア、リリースノート、バイナリファイルへのリンクをパッケージ化してユーザが利用しやすくする為のもので、アジャイル開発的には、繰り返し行われる一連の短い開発工程の成果物をパッケージ化して、デプロイ可能なソフトウェアのイテレーションを提供する機能であるとも言えます。 GitHubではリリース作成時、タグを指定するようになっているので、リリースを作成する前に、コミットにタグを付ける必要があります。タグの作成は、Gitクライアント(Eclipse)だけでなく、GitHubからもリリース作成時に同時にタグを作成できます。 本章の前提は、[[github:branch|前章]]と同じで、[[github:config|GitHubのアカウント]]と以下のクライアント環境が必要です。Gitクライアントには[[git2:client:windows:eclipse|Eclipse]]を使用します。 クライアント環境 * Windows10 Pro * Eclipse 2019-12 Version 4.14 関連記事 * [[github:config|GitHub 環境構築]] * [[github:email|GitHub メールの設定]] * [[github:profile|GitHub プロフィールの設定]] * [[github:basic|GitHub Eclipseによるリポジトリの基本操作]] * [[github:branch|GitHub Eclipseによるブランチの操作]] * GitHub タグとリリースの作成 * [[github:collaborator|GitHub コラボレータの招待]] * [[github:publish|GitHub ソースコードの公開]] リンク * https://github.com/ --- GitHubの本家 * [[https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0|Git の基本 - タグ]] --- Pro Git bookより * https://semver.org/lang/ja/ --- セマンティック バージョニング 2.0.0 (日本語) * [[https://docs.github.com/ja/github/administering-a-repository/releasing-projects-on-github|GitHub でプロジェクトをリリースする]] --- GitHubヘルプより ---- ===== 前提条件 ===== ここでの説明は[[github:branch|前章]]から続いており、Eclipseによるタグの作成方法を述べる前に、前提となるリポジトリとブランチの条件を記載しておきます。 Gitサーバ( GitHub )に作成済のリポジトリとブランチは以下の通りです: [{{:github:release:github-tag00.png?nolink|}}] * リポジトリ:''hello-world'' * ブランチ: 4 branches * ''master'' --- マスターブランチ * その他に作業済のブランチが3つあります Gitクライアントは、Eclipseで、プロジェクト名は ''hello-world'' です。Eclipse側(ローカルリポジトリ)には以下のブランチがあります。 【 ローカルリポジトリ(Eclipse) 】 * リポジトリ:''hello-world'' * ローカル・ブランチ * ''master'' --- マスターブランチ * リモート・トラッキング * ''origin/master'' --- masterのリモート追跡ブランチ \\ ===== タグ ===== Gitの[[https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0|タグ]]は以下の2種類があります。 * **注釈付きのタグ** --- Annotated \\ チェックサムが付き、タグを作成した人の情報(名前、メールアドレス)、作成日時、注釈が保持されます。 これは、主にリモートブランチでリリース情報の一部として利用されます。 * **軽量版のタグ** --- Lightweight \\ コミットとの関連付けを保持するだけのタグで、それ以上の情報は保持されません。これは、主にローカールブランチでコミットの名前付けの為に利用されます。 どちらの種類のタグにも(通常は注釈付きのタグに対して)、GPG秘密鍵による署名をすることができます。 Eclipse(Egitプラグイン)では、注釈付きのタグのみサポートされています。また、タグへの署名機能はありません。注釈付きのタグに署名を行うには、[[https://docs.github.com/ja/github/authenticating-to-github/signing-tags|GitHubのタグへの署名機能]]を使用できます。 本節では、Eclipseからのタグの作成とGitHubへのタグのプッシュについて説明しますが、GitHubではリリース作成時に同時にタグを作成できます。リリース用のタグは、GitクライアントではなくGitHubで作成する方が良いように思います。必要に応じて使い分けて下さい。 \\ ==== Eclipseでのタグの作成 ==== Eclipseの[プロジェクト・エクスプローラー]でプロジェクト(hello-world)を右クリックし、[チーム][拡張][タグの作成...]を選択して下さい。 [{{:github:release:github-tag01.png?nolink|}}] ■ [タグ名]を入力します。
>ここでは[[https://semver.org/lang/ja/|セマンティック バージョニング]]に準じたバージョン番号を入力しています。 >GitHubでタグ付けされたバージョンをリリースするには、[[https://semver.org/lang/ja/|セマンティック バージョニング]]に準じたバージョン番号を付与し、されに先頭に ''v'' の文字を付けなければなりません。例)''v1.0.0''
■ [Tag Message]を入力します。\\ ■ [拡張]をクリックして、タグ付けするコミットを選択します。\\ ■ [タグを作成してプッシュ開始...]ボタンを押して下さい。
> タグの作成またはプッシュ(新規、編集)は[Gitリポジトリー]ビューからもできます。[Gitリポジトリ]を表示するには、Eclipse メニューの[ウインドウ][ビューの表示][その他]から[Git][Gitリポジトリー]を選択して下さい。
[{{:github:release:github-tag02.png?nolink|}}] ■ プッシュするタグをチェックします。\\ ■ [次へ]ボタンを押して下さい。 [{{:github:release:github-tag03.png?nolink|}}] ■ プッシュ内容を確認します。\\ ■ [完了]ボタンを押して下さい。 [{{:github:release:github-tag04.png?nolink|}}] ■ タグのプッシュが終わりました。\\ ■ [閉じる]ボタンを押して下さい。 \\ ==== プッシュしたタグの表示 ==== リポジトリ hello-world に移動します。まだ表示していない場合は、ダッシュボードの左サイドバーから hello-world を選択して下さい。 [{{:github:release:github-tag05.png?nolink|}}] ■ ファイルリスト上のタグ数が [0 tags] から [1 tag] に変わっています。\\ ■ また、右サイドの[Releases]にもタグ数が表示されています。\\ ■ タグ数(ここでは[1 tag])をクリックして下さい。 [{{:github:release:github-tag06.png?nolink|}}] ■ タグの一覧が表示されます。\\ ■ ここから、アーカーブ( ''zip'', ''tar.zg'' )がダウンロード出来ます。\\ ■ このようにタグをプッシュすると自動的に、そのタグのアーカーブがダウンロードできるようになります。\\ ■ バージョン番号( ここでは ''v1.0.0'' )をクリックして下さい。 [{{:github:release:github-tag07.png?nolink|}}] ■ タグの編集画面が表示されます。\\ ■ 編集するには[Edit]ボタンを、削除するには[Delete]ボタンを押して下さい。
> ここでの編集はタグからリリースを作成する意味になります。タグのメッセージが編集できるわけではありません。編集画面については、以下の[[#リリースの編集]]を参照して下さい。
\\ ===== リリース ===== ==== リリースの作成 ==== リポジトリ hello-world に移動します。まだ表示していない場合は、ダッシュボードの左サイドバーから hello-world を選択して下さい。 [{{:github:release:github-tag05.png?nolink|}}] ■ 右サイドの [Releases] 下の [Create a new release] をクリックします。 [{{:github:release:github-tag08a.png?nolink|}}] ■ [Tag version]を入力します( ここでは[[#Eclipseでのタグの作成|先に作成]]してプッシュした ''v1.0.0'' )。
> ここで新しいTag versionを入力すると、新しいタグが生成されます。リリース用のタグは、筆者的には、GitクライアントではなくGitHub(この画面)で作成する方が良いように思います。本章では、Eclipseでの操作も紹介する為に、Eclipseでタグを作成しています。
■ [Release title]を入力します。\\ ■ [Describe this release]を入力します。\\ [{{:github:release:github-tag08b.png?nolink|}}] ■ オプションで、コンパイルされたプログラムなどのバイナリファイルを添付する場合は、[Attach binaries by dropping them here or selecting them]を押してファイルを選択して下さい。\\ ■ このリリースを非製品版(プレリリース)として通知する場合は、[This is a pre-release] を選択します。 [{{:github:release:github-tag08c.png?nolink|}}] ■ 全ての入力が終わったら 緑色の[Publish release]ボタンを押して下さい。 [{{:github:release:github-tag08d.png?nolink|}}] ■ リリースが完了すると上の画面が表示されます。 \\ ==== リリースの編集 ==== リポジトリ hello-world のメインページに移動します。 [{{:github:release:github-tag09.png?nolink|}}] ■ 右サイドの[Releases]をクリックします。 [{{:github:release:github-tag10.png?nolink|}}] ■ リリースの一覧が表示されます。\\ ■ 目的のリリースのタイトル( ここでは **First Release** )をクリックします。
>画面右の[Edit]ボタンを押すと直接リリース編集画面に進みます。
[{{:github:release:github-tag11.png?nolink|}}] ■ [Edit release]ボタンを押します。
>[Delete]ボタンを押すとリリースを削除できます。
[{{:github:release:github-tag12a.png?nolink|}}] ■ リリースのタイトルや説明を編集することができます。 [{{:github:release:github-tag12b.png?nolink|}}] ■ 編集が終わったら、緑色の[Update release]ボタンを押して下さい。 \\