🍆

VPS環境からGithub CLIを使ってリポジトリをクローンするには?

2024/02/25に公開

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番目の項目は承認作業を人間が行うかどうかの設定です。ご自身のセキュリティ観で選んでください。どうでもいいプロジェクトであれば上記の設定でいいです。

個人アカウント単位のトークンを設定

https://github.com/settings/profile

上記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