ssig33.com

Heroku で古いアプリを Cedar Stack に移行する話

Twitter 関連アプリ開発終了が流行している。流行に乗って金くれも止めようと思った。だが流行に乗るのもダサいしせっかくなので bamboo stack から cedar スタックに移行することとした。さらに mri のバージョンも 1.9.3 にする。

その作業ログ。実際はもっといろいろダサいことやったりして巻き戻したりしてる。

1. Cedar Stack のアプリを作る

$ heroku create --remote cedar kanekure-cedar

以上。

2. Procfile 書いたり Gemfile 書き加えたり

Procfile は Web だけなので

web: bundle exec thin start -p $PORT -e $RACK_ENV

の一行でよい。手軽。 Gemfile に

ruby '1.9.3'

gem 'thin'
gem 'pg'

を追加。これで Cedar スタックで上手いところ動いてくれる。

3. デプロイ

$ git push cedar master

これでよい。

4. 古いのを停止してデータを移行

止める

$ heroku maintenance:on --app kanekure

古い奴のダンプを新しい奴に読み込む

$ heroku addons:add --app kanekure-cedar pgbackups:basic
$ heroku pgbackups:capture --app kanekure  --expire 
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app kanekure` --app kanekure-cedar

5. 管理画面からドメインの設定とか移して古い奴を消す

見出しの通り。

やったことを書き出せばまあこれだけなのだが余計なことをしてしまったりで結構手間がかかった。

Web Worker 一つだけを使っていて特に addon などを使っていないアプリみたいのは沢山あると思うのだが、それは上記のことだけやれば bamboo から cedar に移行できる。

未だに Ruby 1.8.7 とかで動いてるアプリもわりとある気はするのだが、そういうのはもう 1 から作りなおすか忘れるかするといいと思う。

物凄く今更感高い話題ですねこれ。

back to index of texts


Site Search

Update History of this content