題の通りです。ArgoCDとGitHubを接続しようとしたときに、ちょっとハマったところがあったので備忘録がてらメモしておきます。同じところで引っかかる人が減りますように
あくまで僕の環境(GitHubリポジトリ、ArgoCD、接続はSSH)での話ですが、手順をなぞるだけでも一応つながるはず。細かい部分で「あれ?」となったところを中心にまとめています。
Contents
ArgoCDをGitHubに接続する手順
まずはGitHubとArgoCDのそれぞれでやるべきことをざっくり書いておきます。
Github側作業
- リポジトリを作成
- リポジトリのDeploy KeyにSSH公開鍵を設定
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公開鍵の設定場所
- SSH公開鍵のパスワードはなしにする必要がある
- リポジトリが空だとNG
SSH公開鍵の設定場所
SSHの公開鍵はDeploy Keysに設定します。多分アカウントのSSH keysでもいける気がしますが試してません。

SSH公開鍵のパスワードはなしにする必要がある
SSH公開鍵にパスワードがついている場合はConnection Statusがfailedになってしまうため、新規作成する or 既存SSH鍵のpassphraseを消すかのどちらかでパスワードなしのSSH公開鍵を用意します。
新規作成する場合は、以下を実行してpassphraseなしで設定する。
ssh-keygen -t ed25519 -C "{メールアドレス}"
passphraseを消す場合は以下でpassphrase変更処理を呼び出す。
ssh-keygen -f {秘密鍵のパス} -p
空のリポジトリはNG
ここ地味にハマりポイントでした。
リポジトリが空の場合もConnection Statusがfailedになってしまうため、テキトーにREADMEだけでもpushしてから、argocdに追加しましょう。リポジトリ作成時にREADMEありで作っとくとラクかも。
最後に
というわけで、GitHubとArgoCDをSSHでつなぐときに自分がつまずいたポイントをざっくり書いてみました。
正直、最初は「リポジトリURL入れて鍵貼るだけでしょ?」と思っていたんですが、意外と細かい落とし穴がいくつかあって…。特に「空のリポジトリはNG」だったり「パスフレーズ付きの鍵だと怒られる」といった点は、知らないとまずハマります。
この記事が、未来の自分 or 同じところでつまづく誰かの役に立てば幸いです。
また何かハマったら、こうしてメモを残していこうと思います。