Otama's Playground > サーバー > ArgoCD × GitHubをSSHで接続するときに詰まった話【備忘録】

ArgoCD × GitHubをSSHで接続するときに詰まった話【備忘録】

題の通りです。ArgoCDとGitHubを接続しようとしたときに、ちょっとハマったところがあったので備忘録がてらメモしておきます。同じところで引っかかる人が減りますように

あくまで僕の環境(GitHubリポジトリ、ArgoCD、接続はSSH)での話ですが、手順をなぞるだけでも一応つながるはず。細かい部分で「あれ?」となったところを中心にまとめています。

手順

まずはGitHubとArgoCDのそれぞれでやるべきことをざっくり書いておきます。

Github側作業

  • リポジトリを作成(READMEなど何か1ファイルはpushしておくと安心)
  • SSH公開鍵を設定(※Deploy Keyとして)
  • 必要に応じて鍵を新規作成 or パスフレーズを削除しておく

ArgoCD側作業

  • Settings > Repositoriesから+ CONNECT REPO
  • Choose your connection methodVIA SSH
  • Repository URL にGitHubのSSH用URL(git@github.com:xxx/yyy.gitみたいなやつ)
  • SSH private key data に秘密鍵の中身をペースト

ハマりポイント

簡単そうに見えて、実は数カ所ハマりどころがありました…というのが次の話。

  • SSHの公開鍵はリポジトリ > Settings > Deploy keysに設定する
  • SSHの公開鍵はパスワードがある場合はConnection Statusがfailedになる
  • リポジトリが空の場合はConnection Statusがfailedになる

SSHの公開鍵の設定場所

SSHの公開鍵はDeploy Keysに設定します。多分アカウントのSSH keysでもいける気がしますが試してません。

SSHの公開鍵はパスワードなしにする

新規作成する or 既存SSH鍵のpassphraseを消すかの2通りです。

新規作成する場合は、以下を実行してpassphraseなしで設定する。

Bash
ssh-keygen -t ed25519 -C "{メールアドレス}"

passphraseを消す場合は以下でpassphrase変更処理を呼び出す。

Bash
ssh-keygen -f {秘密鍵のパス} -p

空のリポジトリはNG

地味にハマりポイントでした。テキトーにREADMEだけでもpushしてから、argocdに追加しましょう。リポジトリ作成時にREADMEありで作っとくのがラクかも。

最後に

というわけで、GitHubとArgoCDをSSHでつなぐときに自分がつまずいたポイントをざっくり書いてみました。

正直、最初は「リポジトリURL入れて鍵貼るだけでしょ?」と思っていたんですが、意外と細かい落とし穴がいくつかあって…。特に「空のリポジトリはNG」だったり「パスフレーズ付きの鍵だと怒られる」といった点は、知らないとまずハマります。

この記事が、未来の自分 or 同じところでつまづく誰かの役に立てば幸いです。
また何かハマったら、こうしてメモを残していこうと思います。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です