移動する機会があったのでやりました
やり方自体はいろんなところに書いてあるしぽちぽちするだけなので簡単
しかも移行した後にアクセスすると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で移動したプロジェクトを持ってくるのだがエラーで動かない
ERROR: Repository not found. fatal: Could not read from remote repository.
とか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系にすればどうにかなるかもという話を聞いた 試していない