LoginSignup
11
10

More than 5 years have passed since last update.

[Go] HerokuにRevelでつくったアプリをデプロイする

Last updated at Posted at 2015-11-03

まず、revelでアプリを作っておく。

$ revel new myapp

次にmyappをgitの管理下に置く。

$ cd $GOPATH/src/myapp
$ git init
$ git add .
$ git commit -m "Initial commit"

その次に.godirを用意する。

$ echo myapp > .godir
$ git add .
$ git commit -m "Add .godir"

[注意] .godirがないとgit pushした時に怒られる。

$ git push heroku master
...
remote: -----> Revel app detected
remote:  !     A .godir is required. For instructions:
remote:  !     http://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku
remote: 
remote:  !     Push rejected, failed to compile Revel app

.godir用意したら下記のコマンドを実行してherokuのインスタンスを作成する。

$ heroku create -b https://github.com/revel/heroku-buildpack-go-revel.git

Git remote heroku addedとなればOK.

...
Creating gentle-savannah-5631... done, stack is cedar-14
Buildpack set. Next release on gentle-savannah-5631 will use https://github.com/revel/heroku-buildpack-go-revel.git.
https://gentle-savannah-5631.herokuapp.com/ | https://git.heroku.com/gentle-savannah-5631.git
Git remote heroku added

[注意] robfig/heroku-buildpack-go-revelではなくrevel/heroku-buildpack-go-revelを使うこと。robfigだとgit pushした後のbuildでコケる。下記のようなログで。

remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Fetching custom buildpack https://github.com/robfig/heroku-buildpack-go-revel.git... done
remote: -----> Revel app detected
remote: -----> Installing Go 1.1.2... done
remote:        Installing Virtualenv...
remote:  !     Push rejected, failed to compile Revel app
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to damp-peak-3771.
remote: 
To https://git.heroku.com/damp-peak-3771.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/damp-peak-3771.git'

念のためgit remote -vで追加されていることを確認。

$ git remote -v
heroku  https://git.heroku.com/gentle-savannah-5631.git (fetch)
heroku  https://git.heroku.com/gentle-savannah-5631.git (push)

最後にherokuにpushする。

$  git push heroku master
Counting objects: 41, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (34/34), done.
Writing objects: 100% (41/41), 82.73 KiB | 0 bytes/s, done.
Total 41 (delta 2), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Fetching custom buildpack https://github.com/revel/heroku-buildpack-go-revel.git... done
remote: -----> Revel app detected
remote: -----> Installing go1.3... done
remote:        Installing Virtualenv... done
remote:        Installing Mercurial... done
remote:        Installing Bazaar... done
remote: -----> Running: go get -tags heroku ./...
remote: 
remote: -----> Discovering process types
remote:        Procfile declares types     -> (none)
remote:        Default types for Multipack -> web
remote: 
remote: -----> Compressing... done, 60.6MB
remote: -----> Launching... done, v4
remote:        https://gentle-savannah-5631.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/gentle-savannah-5631.git
 * [new branch]      master -> master

ブラウザで確認してみる。

heroku open

It works!!

Screen Shot 2015-11-03 at 20.17.17.png

参考記事

11
10
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
10