LoginSignup
11
5

More than 5 years have passed since last update.

BitBucketからGitHubに移行するための手順(とデプロイ時の落とし穴)

Last updated at Posted at 2017-06-08

BitBucketからGitHubに移行する移行手順とcapistranoを利用してrailsアプリをデプロイしている場合の落とし穴について書きました。
こちらにも投稿したのですが、Qiitaにもあげておきます。

移行手順

基本的な流れは以下の通りです。

  1. GitHubにBitBucketのリポジトリをインポートします
  2. GitHubにインポートしたリポジトリをローカルにcloneします
  3. bundle install --path vendor/bundle しながらお茶します
  4. capistranoの設定を修正します
  5. デプロイが通るか確認します

ポイントになりそうな1, 5だけ説明します。

GitHubにBitBucketのリポジトリをインポート

https://gyazo.com/380f28ae2ab9cb210ebc3ef3f98bc192

Your old repository’s clone URL にBitBucketのリポジトリURLを入れます。

https://gyazo.com/a0a3da99e3ccbdcdf3a2ab61daefadbc

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分もかからずに移行できたのではないかなと思います。

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5