VPS環境からGithub CLIを使ってリポジトリをクローンするには?
VPS環境にGithub CLIをインストールして、プライベートリポジトリをクローンするまでの流れを備忘録として残しておきます。
環境:Ubuntu
VPSでGithub CLIをインストールする
apt install gh
Githubでトークンを発行する
Organizationでリポジトリを管理している場合は下記を行う必要あり。
Organizationで管理しているリポジトリの場合は、組織単位でトークンの許可設定を行わなければなりません。
https://github.com/organizations/【組織ID】/settings/profile
にアクセスし、左側の「Personal access tokens」より設定をします。
- Allow access via fine-grained personal access tokens
- Do not require administrator approval
- Allow access via personal access tokens (classic)
この選択肢を選択しました。
2番目の項目は承認作業を人間が行うかどうかの設定です。ご自身のセキュリティ観で選んでください。どうでもいいプロジェクトであれば上記の設定でいいです。
個人アカウント単位のトークンを設定
上記URLにアクセスします。
Developer settings -> Personal access tokens -> Fine-grained personal access tokensに進みます。
「Generate new token」をクリックしてトークンを作成します。
- Token name(トークン名:適当でOK)
- Expiration(トークンの有効期限)
「Resource owner」をクリックしてさっきのOrganizationのヤツが追加されているか確認します。ここでOrganizationが表示されていなければ先の設定に何らかのミスがあると思います。
あれもこれもクローンする予定がなければ、極力「Only select repositories」にしておきましょう。仮にこのトークンが流出したとしても被害を最小限に抑えられます。
今回はクローンをするのが目的なので、PermissionsでRepository Permissionsから「Contents」で Read-only としておきましょう。
これでOKです。
トークンを作成すると、トークン番号が出力されるのでコピーしておきます。
これでクローンができる状態となります。
VPSでGithub CLIでクローンを実行する
まずは Github CLIで認証をします。
gh auth login
を叩き、「Gihub.com」、「HTTPS」、「Paste an authentication token」を選択します。
個人アカウント単位のトークン番号をペーストして終わりです。
「Configured git protrol」「Logged in as hoge」と表示されたら成功です!
あとは gh repo clone organization/リポジトリ名
でクローンを実行して完了!
Discussion