山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

GrailsアプリケーションをTravis CI、Herokuと連携する

アジェンダ

概要

  • タイトルの通りの事をやろうとしたら、結構戸惑ったためメモ。
    • Grails、Gradle、Travis CI、Heroku全てが全くわかっていなかったという事を実感。。。
  • 尚、Herokuの設定については公式にドキュメントがあった上、サンプルリポジトリまである事に全部終わってから気づきました。こちらを参照した方が良いかと思います。
  • 特に難しいことはしていませんが、誤っている点、もっと簡単な方法等がありましたらコメント、ブコメTwitterなどで教えてください。

環境

  • Grails Version: 3.2.8
  • Groovy Version: 2.4.10
  • JVM Version: 1.8.0_121

前準備

Grailsのデフォルトアプリを作成

  • grailsコマンドでアプリケーションを作成。
grails create-app grails-heroku-example2
  • アプリケーションを起動
cd grails-heroku-example2
./grailsw run-app

Herokuで動作させる

task stage {
  dependsOn build
}
web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/grails-heroku-example2-0.1.war
  • Gitで管理する
git init
git add .
git commit -m "first commit"
  • Heroku CLIでログイン
    • heroku login
    • メールアドレスとパスワード入力。
  • Heroku上にアプリケーションを作成
    • heroku create grails-heroku-example2
    • アプリ名は省略も可能。
    • アプリ名はHeroku全体でユニークである必要があるので注意。
  • リモートリポジトリが追加されていることを確認。
    • git remote -v
heroku   https://git.heroku.com/grails-heroku-example2.git (fetch)
heroku  https://git.heroku.com/grails-heroku-example2.git (push)
  • Herokuへデプロイ
    • git push heroku master
    • BUILD SUCCESSFUL的なメッセージが表示されればOK
  • 確認
    • heroku open
    • ローカルで実行時と同じ画面が出ればOK

GitHubにpush

git remote add origin git@github.com:yamap55/grails-heroku-example2.git
git push -u origin master

Travis CIと連携

  • Travis CIにログイン
  • ↑でGitHubに作ったリポジトリをEnableにする。
    • 2017/04/04現在だと、My Repositoriesの横の+か、右上の自分のアイコンをクリックすることで自分のリポジトリの一覧が表示される。
    • リポジトリが表示されない場合には右上の「Sync account」を押下することで再同期されます。
  • 空の連携設定ファイルをカレントに作成
touch .travis.yml
  • .travis.yml を設定
    • travis setup heroku
  • .travis.yml に設定を追加
    • language: groovy
    • ファイルの先頭に追加。
  • 設定例
language: groovy
deploy:
  provider: heroku
  api_key:
    secure: (略)
  app: grails-heroku-example2
  on:
    repo: yamap55/grails-heroku-example2
git add .
git commit -m "comment"
git push origin
  • 確認
    • heroku open
    • herokuのログを確認

メモ

参考URL