BitBucketからGitHubに移行する移行手順とcapistranoを利用してrailsアプリをデプロイしている場合の落とし穴について書きました。
こちらにも投稿したのですが、Qiitaにもあげておきます。
移行手順
基本的な流れは以下の通りです。
- GitHubにBitBucketのリポジトリをインポートします
- GitHubにインポートしたリポジトリをローカルにcloneします
-
bundle install --path vendor/bundle
しながらお茶します - capistranoの設定を修正します
- デプロイが通るか確認します
ポイントになりそうな1, 5だけ説明します。
GitHubにBitBucketのリポジトリをインポート
Your old repository’s clone URL にBitBucketのリポジトリURLを入れます。
Begin importをクリックすれば終わり。
デプロイ
ソースの修正とサーバー側での作業が必要になります。
ソースの修正はデプロイ時にソースをpullするリポジトリを指定している箇所をBitBucketからGitHubのリポジトリURLに変更します。
SSH方式で指定するためGitHubに公開鍵を登録していない場合は以下のリンクを参考に公開鍵を登録してください。
次にサーバー側のリポジトリ設定を変更します。
capistranoではサーバーの /var/www/app_name/repo/
以下にリポジトリの設定を持っています。
そのため /var/www/app_name/repo/
でリモートリポジトリをGitHubのものに変更してあげる必要があります。
もし変更しないとデプロイは通るけど、BitBucketのリポジトリを参照しているため変更が反映されないという状態になります。
$ git remote -v # BitBucketのリポジトリになっています
$ cd /var/www/app_name/repo/
$ git remote set-url origin git@github.com:organization_name/repo_name.git
$ git remote -v # git@github.com:organization_name/repo_name.git になっていればOK
これで移行作業が完了しました。
まとめ
BitBucketからGitHubへの移行自体に工数はかからずに簡単に移行できたのですが、
サーバー側も修正が必要という点が調査漏れしていたため少しハマってしまいました。
もしこの投稿を見てから移行作業していたら30分もかからずに移行できたのではないかなと思います。