Yak shaving logs


My life is just yak shaving.

BitBucketからGitHubに移行するための手順

2017/06/08 #rails #capistrano #github #bitbucket

By Yusuke Takita


こんにちは。Kajitz inc.の瀧田です。

BitBucketからGitHubに移行する移行手順とcapistranoを利用してrailsアプリをデプロイしている場合の落とし穴について書きました。

移行手順

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

  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をクリックすれば終わり。

デプロイ

ソースの修正とサーバー側での作業が必要になります。
ソースの修正はデプロイ時にソースをpullするリポジトリを指定している箇所をBitBucketからGitHubのリポジトリURLに変更します。
SSH方式で指定するためGitHubに公開鍵を登録していない場合は以下のリンクを参考に公開鍵を登録してください。

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

このエントリーをはてなブックマークに追加

categories


最新記事


tags