ROS2パッケージをリリースしよう!準備編
ROSのbloomを使ったパッケージリリースについてはネットに素晴らしい有用な記事があるのですが, GitHubの仕様変更やROS2の公式リリースリポジトリ置き場など, 新しい部分については日本語情報が少ないので情報を残しておきます.
準備するもの
パッケージをリリースするには以下のものが必要です.
必要なもの | 備考 |
---|---|
GitHubアカウント | 当然必要 |
GitHubアクセストークン | リリース用ツールに権限を与えるのに使います |
リリースしたいROS2リポジトリ | これがないと始まらない |
リリース用リポジトリ | 作り方は2通り |
GitHubアカウント,リリースしたいROS2リポジトリは当然あるものとして,残りの2つについて解説します.
GitHubアクセストークン
本来なら,パッケージのリリースではたくさんのGitHub上での操作を人間が手動で行う必要があります.
bloomはそんな大変な作業を人間に変わって自動でやってくれるツールです.
しかし,GitHub上での操作には認証が求められるため,ツールにアクセス権限を付与する必要があります.
また,近年GitHubではパスワードによる認証が禁止されたため,パスワードを求められた際にはアクセストークンを入力する必要があります.
詳しい作成方法はこちらです.
アクセストークン作成ページ : https://github.com/settings/tokens
アクセストークンには「repo」と「workflow」の権限を設定してください.
リリース用リポジトリ
パッケージをリリースするためにはソースコードが入ったリポジトリとは別に,<パッケージの名前>-release
という名前のリリース用のリポジトリが必要です.
リリース用リポジトリの中身はパッケージの内容を基にbloomが勝手に管理するので開発者はリポジトリを作るだけでOKです.
リポジトリの作成場所ですが,自分の場所に作る方法・公式の場所に作る方法の2通りあるのでそれぞれについて説明します.
公式の場所に作る方法
公式のリリースリポジトリの置き場所がこちらです.
ここにリリースリポジトリを作る手順は以下のとおりです.
手順自体は簡単ですが,メンテナの方の対応を待たなければいけませんので,時間がかかることは理解しておいてください.
急ぎの場合は「自分の場所に作る方法」を検討するのも手です.
issueを立ててリポジトリの追加をお願いする
こちらのリポジトリにIssueを立てて,リポジトリ追加のお願いをしていきます.
Issueを追加しようとすると,3つのIssueテンプレートが現れるので,「New release team」を選択して次に進みます.
- チーム名(英小文字とアンダーバーのみ)
- リリースしたいリポジトリ
- メンテナの情報
の3つの情報を埋めてIssueを立てられたらメンテナの人がリポジトリを作ってくれるのを待ちます.
Issueをどう書けばいいかわからない場合は過去のIssueを参考にしてみましょう.
例えば,自分が立てたIssueがこれです↓
大抵,1週間以内にメンテナ欄に追加したユーザーはOrganizationに追加され,チームの追加,空のリリースリポジトリの作成までをros2-gbpのメンテナの方がやってくださいます.
ここまで来たらようやく,リリースリポジトリの準備が終わりです.
最後に作業をやって頂いたメンテナの方への感謝を忘れずに!
自分の場所に作る方法
これはROS1のリリース用リポジトリと同じです.
自分で好きなOrganizationなり自分のユーザーディレクトリなりに<パッケージの名前>-release
という名前の空リポジトリを作るだけです.
気軽にリリースしたい場合や,急ぎのリリースの場合はこちらの方が良いかもしれません.
作成したリリースリポジトリにmaster
ブランチを作る
最近,GitHubではリポジトリを新規作成した時のデフォルトブランチは master
からmain
に変わりました.
しかし,bloomは古いツールなので,master
をデフォルトブランチとして扱うため,master
ブランチの作成が必須です.
準備完了
これでリリースに必要なものは揃いました!
ということで,準備編はここまでです.
あとのリリースの手順は,GitHubのパスワードを求められた時にアクセストークンを入力するところ以外はネットにある日本語情報を参考にすると良いでしょう.
この記事は特に分かりやすくて良いですね!
気が向けば,リリース編も書こうと思いますが,期待しないでください.
参考
アクセストークン周りに関して
公式の場所へのリリースリポジトリ作成に関して