題の通りです。ArgoCDとGitHubを接続しようとしたときに、ちょっとハマったところがあったので備忘録がてらメモしておきます。同じところで引っかかる人が減りますように
あくまで僕の環境(GitHubリポジトリ、ArgoCD、接続はSSH)での話ですが、手順をなぞるだけでも一応つながるはず。細かい部分で「あれ?」となったところを中心にまとめています。
Contents
手順
まずはGitHubとArgoCDのそれぞれでやるべきことをざっくり書いておきます。
Github側作業
- リポジトリを作成(READMEなど何か1ファイルはpushしておくと安心)
- SSH公開鍵を設定(※Deploy Keyとして)
- 必要に応じて鍵を新規作成 or パスフレーズを削除しておく
ArgoCD側作業
Settings > Repositories
から+ CONNECT REPO
Choose your connection method
→VIA 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なしで設定する。
ssh-keygen -t ed25519 -C "{メールアドレス}"
passphraseを消す場合は以下でpassphrase変更処理を呼び出す。
ssh-keygen -f {秘密鍵のパス} -p
空のリポジトリはNG
地味にハマりポイントでした。テキトーにREADMEだけでもpushしてから、argocdに追加しましょう。リポジトリ作成時にREADMEありで作っとくのがラクかも。
最後に
というわけで、GitHubとArgoCDをSSHでつなぐときに自分がつまずいたポイントをざっくり書いてみました。
正直、最初は「リポジトリURL入れて鍵貼るだけでしょ?」と思っていたんですが、意外と細かい落とし穴がいくつかあって…。特に「空のリポジトリはNG」だったり「パスフレーズ付きの鍵だと怒られる」といった点は、知らないとまずハマります。
この記事が、未来の自分 or 同じところでつまづく誰かの役に立てば幸いです。
また何かハマったら、こうしてメモを残していこうと思います。