FuelPHP on heroku
下ごしらえ
create fuelphp project
$ oil create heroku-fuelphp
$ cd heroku-fuelphp/
$ rm -fr .git . gitmodules
$ rm *.md
$ rm -fr docs/
自分の環境(MacOS 10.8.1/git version 1.7.8.4)だと
Adding existing repo at 'fuel/core' to the index
とか言われてsubmodule add出来ないので予め削除
$ rm -fr fuel/core/ $ rm -fr fuel/packages/auth/ $ rm -fr fuel/packages/email/ $ rm -fr fuel/packages/oil/ $ rm -fr fuel/packages/orm/ $ rm -fr fuel/packages/parser/
git init & submodule add
$ git init $ git submodule add git://github.com/fuel/core.git fuel/core $ git submodule add git://github.com/fuel/auth.git fuel/packages/auth $ git submodule add git://github.com/fuel/email.git fuel/packages/email $ git submodule add git://github.com/fuel/oil.git fuel/packages/oil $ git submodule add git://github.com/fuel/orm.git fuel/packages/orm $ git submodule add git://github.com/fuel/parser.git fuel/packages/parser
git submodule checkout & pull
$ git add . $ git submodule foreach git checkout 1.3/master $ git submodule foreach git pull origin 1.3/master $ git status # modified: fuel/core (new commits) # modified: fuel/packages/orm (new commits) $ git add fuel/core $ git commit -m 'init'
heroku create
$ heroku create --buildpack https://github.com/winglian/heroku-buildpack-php -s cedar Creating serene-dusk-4028... done, stack is cedar BUILDPACK_URL=https://github.com/winglian/heroku-buildpack-php http://serene-dusk-4028.herokuapp.com/ | git@heroku.com:serene-dusk-4028.git Git remote heroku added
git push
$ git push heroku master Counting objects: 54, done. Delta compression using up to 2 threads. Compressing objects: 100% (46/46), done. Writing objects: 100% (54/54), 99.37 KiB, done. Total 54 (delta 3), reused 0 (delta 0) -----> Heroku receiving push -----> Git submodules detected, installing Submodule 'fuel/core' (git://github.com/fuel/core.git) registered for path 'fuel/core' Submodule 'fuel/packages/auth' (git://github.com/fuel/auth.git) registered for path 'fuel/packages/auth' Submodule 'fuel/packages/email' (git://github.com/fuel/email.git) registered for path 'fuel/packages/email' Submodule 'fuel/packages/oil' (git://github.com/fuel/oil.git) registered for path 'fuel/packages/oil' Submodule 'fuel/packages/orm' (git://github.com/fuel/orm.git) registered for path 'fuel/packages/orm' Submodule 'fuel/packages/parser' (git://github.com/fuel/parser.git) registered for path 'fuel/packages/parser' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/core/.git/ Submodule path 'fuel/core': checked out '61ef4c098485035f4d625d87238e4d408dfa59e5' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/packages/auth/.git/ Submodule path 'fuel/packages/auth': checked out 'd5c78ff7e3b1698334747587505d79baf59a3158' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/packages/email/.git/ Submodule path 'fuel/packages/email': checked out '6a38100229aa02c905d143c200a0dac5184a174e' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/packages/oil/.git/ Submodule path 'fuel/packages/oil': checked out 'e0947076c4058104f92d8465ccb82d2ac93f6b72' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/packages/orm/.git/ Submodule path 'fuel/packages/orm': checked out '42a37ce5d639bc6485b907764280dca3285a2bf9' Initialized empty Git repository in /tmp/build_owc6gc2lo4pn/fuel/packages/parser/.git/ Submodule path 'fuel/packages/parser': checked out 'f85eafe3ed198bf51feb7c3c1c7116aa3a77ea24' -----> Fetching custom buildpack... cloning with git...done ! Heroku push rejected, no Cedar-supported app detected To git@heroku.com:serene-dusk-4028.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@heroku.com:serene-dusk-4028.git'
index.phpがないとリジェクトされるらしいので作る
$ touch index.php $ git add index.php $ git commit -m 'add index.php' [master 73128cb] add index.php 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.php /Users/khirose/workspace/heroku-fuelphp% touch index.php /Users/khirose/workspace/heroku-fuelphp% git add index.php /Users/khirose/workspace/heroku-fuelphp% git commit -m 'add index.php' [master 73128cb] add index.php 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.php
$ git push heroku master Counting objects: 56, done. Delta compression using up to 2 threads. Compressing objects: 100% (48/48), done. Writing objects: 100% (56/56), 99.57 KiB, done. Total 56 (delta 4), reused 0 (delta 0) -----> Heroku receiving push -----> Git submodules detected, installing Submodule 'fuel/core' (git://github.com/fuel/core.git) registered for path 'fuel/core' Submodule 'fuel/packages/auth' (git://github.com/fuel/auth.git) registered for path 'fuel/packages/auth' Submodule 'fuel/packages/email' (git://github.com/fuel/email.git) registered for path 'fuel/packages/email' Submodule 'fuel/packages/oil' (git://github.com/fuel/oil.git) registered for path 'fuel/packages/oil' Submodule 'fuel/packages/orm' (git://github.com/fuel/orm.git) registered for path 'fuel/packages/orm' Submodule 'fuel/packages/parser' (git://github.com/fuel/parser.git) registered for path 'fuel/packages/parser' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/core/.git/ Submodule path 'fuel/core': checked out '61ef4c098485035f4d625d87238e4d408dfa59e5' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/packages/auth/.git/ Submodule path 'fuel/packages/auth': checked out 'd5c78ff7e3b1698334747587505d79baf59a3158' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/packages/email/.git/ Submodule path 'fuel/packages/email': checked out '6a38100229aa02c905d143c200a0dac5184a174e' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/packages/oil/.git/ Submodule path 'fuel/packages/oil': checked out 'e0947076c4058104f92d8465ccb82d2ac93f6b72' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/packages/orm/.git/ Submodule path 'fuel/packages/orm': checked out '42a37ce5d639bc6485b907764280dca3285a2bf9' Initialized empty Git repository in /tmp/build_3so3ldgotzkpp/fuel/packages/parser/.git/ Submodule path 'fuel/packages/parser': checked out 'f85eafe3ed198bf51feb7c3c1c7116aa3a77ea24' -----> Fetching custom buildpack... cloning with git...done -----> PHP app detected -----> Bundling Apache 2.2.22/PHP 5.3.10 build Creating Slug Identifier file with id: 11eb980091f29e7be8abbe03604ff2ac -----> Discovering process types Procfile declares types -> (none) Default types for PHP -> web -----> Compiled slug size is 18.4MB -----> Launching... done, v4 http://serene-dusk-4028.herokuapp.com deployed to Heroku To git@heroku.com:serene-dusk-4028.git * [new branch] master -> master
成功したっぽい
$ heroku open
http://serene-dusk-4028.herokuapp.com/public/
参考:
http://d.hatena.ne.jp/Kenji_s/20111202/1322783183
http://d.hatena.ne.jp/hnw/20120603
http://dqn.sakusakutto.jp/2012/04/heroku_push_rejected_no_cedar-.html