Skip to content

hi-ogawa/yesod-experiment

Repository files navigation

Build Status

Yesod Experiment

Features

Notes

Tools version:

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.10.2

$ cabal --version
cabal-install version 1.22.6.0
using version 1.22.4.0 of the Cabal library

$ docker -v
Docker version 1.11.1, build 5604cbe

$ docker-compose -v
docker-compose version 1.7.0, build 0d7bf73

$ heroku version
heroku-toolbelt/3.43.5 (x86_64-darwin10.8.0) ruby/1.9.3
heroku-cli/5.2.24-4b7e305 (darwin-amd64) go1.6.2
=== Installed Plugins
heroku-container-registry@4.0.0

Development:

$ make install # prepare cabal sandbox and install dependencies
$ make db      # prepare postgresql
$ make migrate # run schema migration
$ cp systems/env.development.example systems/env.development
$ make app     # run server from local cabal sandbox

Testing:

$ make db
$ make migrate
$ make spec

Testing in Docker (in the same way on Travis CI):

$ make db
$ make migrate
$ make spec-docker

Deployment (on Heroku):

-- First Time --
$ heroku plugins:install heroku-container-registry
$ heroku login
$ docker login --email=<heroku account email> --username=<heroku account email> --password=$(heroku auth:token) registry.heroku.com
$ heroku apps:create yesod-free-deploy
$ heroku addons:create heroku-postgresql --app yesod-free-deploy
$ heroku config -s -a yesod-free-deploy # copy the output into systems/env.production

-- Continuous Update --
$ make deploy
$ make deploy-migrate # if necessary
$ heroku open -a yesod-free-deploy