🧙‍♂️

CodemagicでGitリポジトリのSSH接続失敗した時にやったこと

2022/01/14に公開

※注意 この記事は根本的な解決方法ではなく、色々試したらなんとなく直ったという私的に納得できてないが、とりあえずうまくいったので備忘録として記事を書いています...
もし根本的な解決方法やそもそもなぜダメだったのかをご存知の方がいれば教えてください🙏

環境

CodemagicでFlutterをビルドする時に大抵の人はConnect repositoryの選択で、Githubを選択してビルドされる方が多いと思いますが、私が担当しているプロダクトではOtherを選択しSSH接続でリポジトリにアクセスしてビルドする設定を行う設定をしたかった。

  • リポジトリはPrivateリポジトリ
  • オーガニゼーションではチーム設定していて、対象チームのみそのリポジトリが参照可能

設定した手順

  1. key pairの作成はGenerate key pairで作成
  2. 生成された公開鍵をコピーし、GithubのSSH keysの設定でNew SSH keyでコピーした公開鍵を登録
  3. Codemagicに戻ってFinish: Add applicationを押下

発生したエラー

上記、設定した手順の3を実施した際に以下のエラーが発生

Repository is not accessible. Check access credentials and firewall settings.
Failed to scan branches: Warning: Permanently added 'github.com' (ED25519) to the list of known hosts. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

リポジトリにアクセスできないエラー。
鍵の設定がうまくいってないっぽい。ちゃんと設定したはずなんだけど、、、

試したこと

  1. Codemagicのkey pair再生成&Githubでの再登録(これ10回以上やった...)
  2. Codemagicのログアウト→再ログイン(効果なし)
  3. Githubのログアウト→再ログイン(効果なし)
  4. 一回同じ環境下にいる別のリポジトリで試してみる(なんか上手くいった)
  5. 再度対象リポジトリのkey pair再生成&Githubでの再登録(上手くいかない)
  6. 1をやったあとのCodemagicに戻ってFinish: Add applicationのボタンを数分待って実施(上手くいかない)
  7. GithubのNew SSH keyで公開鍵を登録する時、今まではずっと失敗してたTitleを使いまわして登録してたが違うTitleをつけて登録してみた(なぜかうまくいった)

今回、7で実施したSSH設定のタイトルを変更したらうまくいったんですが、それが解決方法ではないと思ってます。なんかたまたまうまいこと成功したようにしか見えない...
タイトルは公開鍵を登録するためのただの情報だと思うので...

私的にはCodemagicのGenerate key pairで生成した公開鍵をGithubで登録し、Finish: Add applicationのボタン押下時の反映タイミングに何かありそうな気がしますが、よく分からないです。
多分また同じことやった時にハマると思うので、解決策ご存知の方教えてください...

Discussion