since 2009-11-12
since 2019-11-14
https://devcenter.heroku.com/articles/review-apps-new
そういえば、何年も前から heroku はもっぱら node.js のホスティングとして使っている。
next.js 作業メモ
https://github.com/nishimotz/as-info-next
(1) GitHub リポジトリを作る
(2) heroku で app を作る
(3) heroku で app と同じ名前で pipeline を作る
公開リポジトリを他者がフォークしたものからのプルリクエストには、Review App は自動デプロイされない。
(セキュリティと課金を防ぐため)
Procfile
web: npm start
package.json
{ "name": "****", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "next", "start": "next start -p $PORT", "build": "next build", "export": "next export --outdir=./docs", ....
app.json
{ "addons": [ ], "buildpacks": [ ], "env": { }, "formation": { "web": { "quantity": 1 } }, "name": "****-review-app", "scripts": { } }
herokuで動かしているアプリ : nvdajp-jtalk-dic
herokuで動かしているいたアプリ : orpheus_tw
2010-12-08 salesforce.com による買収が発表された
ruby_on_rails アプリケーションのホスティングを行うクラウドサービス。
git push でデプロイする、というところがかなり個性的だが、git と rails に慣れていれば天国のような環境。
tmp と log ディレクトリにしか書き込みができない、postgresql しか使えない、など制約もある。
だが rails のホスティングがまだまだ普及していない現状で、無料で rails アプリを公開運用できて、お金を払えばスケーラビリティを手に入れることができる、というところが嬉しい。
Facebook and Heroku 2011-09-15 Facebook アプリの開発・運用環境としての協業の発表。
以下、Ubuntu 9.04 (VMware) での作業。
先に git init / git commit してから heroku create する。
$ sudo gem install rails $ sudo gem install heroku $ rails myapp $ cd myapp $ git init $ git add . $ git commit -m "initial commit" $ heroku create (新しいアプリの名前が表示される) Git remote heroku added
この状態でブラウザから https://heroku.com/myapps を見ると、新しいアプリが表示されている。
$ git push heroku master $ heroku open
Firefox で http://application-name.heroku.com/ が開く。Welcome aboard.
gem を freeze して push するのかと思ったが、もっとスマートな方法が提供されている。
sudo gem install mechanize で使えるものを、heroku の上で使う例。
myapp/.gems ファイルを作る。
mechanize
add して push する。
$ git add .gems $ git commit -m ".gems" $ git push heroku master
なんとこれだけで、以下が行われる。
-----> Installing gem mechanize from http://gemcutter.org, http://gems.rubyforge.org Building native extensions. This could take a while... Successfully installed nokogiri-1.4.0 Successfully installed mechanize-0.9.3 2 gems installed
$ script/generate scaffold items $ git add . $ git commit -m "scaffold items" $ git push heroku master $ heroku rake db:migrate $ heroku open
Firefox が開く。
http://application-name.heroku.com/items/ を見ると、ちゃんと動いているが、なにも field を作っていないので、ただレコードを増やすことしかできない。
データベースがおかしくなったと思ったときは。
$ heroku db:reset --app application-name
その他 heroku help でコマンド一覧。
サーバ側の環境を irb で使う感じ。
$ heroku console Ruby console for application-name.heroku.com >> RUBY_VERSION => "1.8.6"
サーバで動いているのは 1.8.6 である。
model や controller で数秒かかるような処理を行うと、容赦なくエラーにされる。 http で外部サービスを叩くような場合は、delayed job (DJ) が必要。 1ヶ月15ドルのオプションサービス。(2009年11月の時点で)
クレジットカードの情報を登録すると、オプションが購入可能になる。 どのアプリで利用するかを事前に選んで、アプリごとにオプションを申し込む。
2009年12月よりWorkersという新しい機能が導入され、現在 DJ は一種のWorkersとして動いているとのこと。
http://docs.heroku.com/delayed-job
http://railscasts.com/episodes/171-delayed-job
料金は 1 paid worker x NNNN hours x $0.05 per hour になった。1日1.2ドル。31日で37.2ドル。値上げですね。。
最初の設定は "heroku workers 1" で worker がひとつ動き出す。止めたかったら "heroku workers 0" すればよい。
daily は free で hourly は $3.00 per month です。
$ heroku addons:add cron:daily または $ heroku addons:add cron:hourly
2010-03
Ruby REE 1.8.7 and Ruby MRI 1.9.1 が選べるようになる。rails 3 beta もサポート。
具体的な手順
2010-10-16
1.9.2 が使える
heroku stack:migrate bamboo-mri-1.9.2
だが ruby 1.9.2 + rails 2.3.8 で index.html.erb にマルチバイト文字を使うと怒られる、という問題に遭遇。
仕方なく bamboo-ree-1.8.7 に戻しました。
Twitter プラグインの公式サポート http://docs.heroku.com/apigee