移動する機会があったのでやりました
やり方自体はいろんなところに書いてあるしぽちぽちするだけなので簡単 しかも移行した後にアクセスするとgithub様がリダイレクトしてくれるので問題が起きにくい (Organization消すと多分死ぬ
で、移動した後に起こったいろいろなことを書く
前提: そのプロジェクトは相当前から前Organizationにあり、設定等をした前任者はいない状態 circle ciはversion 1
1、Organization移動すると読み込み権限だけになっていた プロジェクト単位でread/writeを設定できるが移動した後のデフォルトはreadだったっぽい pushできなーいとい社内アラートが起こった
2、circle ciのプロジェクトがないのでこけてる circle ciでプロジェクトを作る circle ciがプロジェクトにアクセスする為に鍵を作る
左タブprojects -> add project -> 対象のプロジェクトの右側のsetup project -> start building -> Checkout usingでこける -> 左タブprojects -> 対象の設定(歯車マーク) -> checkout ssh keys -> add deploy key -> 新しく表示されているリンクになっているkeyをクリックするとgithubのDeploy keysに追加される -> さっきこけたものをrebuildすると通る
3、circle ciでsubmodule使ってる部分がこける これに時間をとられた 複数のプロジェクトを移動したが一部でsubmoduleを使っているところがあった ciが流れる際にsubmoduleで移動したプロジェクトを持ってくるのだがエラーで動かない
[code lang=text] ERROR: Repository not found. fatal: Could not read from remote repository. [/code]
とかciで言われる ローカルだと問題なくテストが通る
この問題はcircle ciがsubmoduleにアクセスできない為に起こっている それはプライベートリポジトリからsubmoduleでとりにいこうとしているのでエラーが起こっている
そこでキーペアを作ってcircle ciのSSH Permissionsへ鍵を追加して githubのプロジェクトのdeploy keysにも鍵を追加してみたがうまくいかない
ここで大事だったのは SSH Permissions へ鍵を追加する時のhostnameはgithub.comにすることだった
しかしそれでも通らない 現象は下記リンクと同様
結局できたのはどちらにもアクセスできるユーザの秘密鍵をcircle ciのSSH Permissionsへ鍵を登録することだった そういえば前動いていたOrganizationではdeployユーザがいたので多分前任者もそのユーザの鍵を使っていたのだろう
調べていたらcircle ciのversionを2系にすればどうにかなるかもという話を聞いた 試していない