CloudBeesのJenkinsでgithubのsbtのプロジェクトをGAEにデプロイ

More than 5 years have passed since last update.

タイトルの通り、CluodBeesのJenkinsを使ってsbtのScalaプロジェクトをGAEにデプロイする設定をしたときのメモ(初Jenkins)。


CloudBeesのアカウントを取る

http://www.cloudbees.com/ からサインアップ。

googleアカウント/githubアカウントが使えた。

ビルドサーバの起動時間に制限があるけど無料プラン有り。

よく分かってないけど、DEV@cloudっていうのがJenkinsとかgitとかのSaaSで、RUN@cloudっていうPaaSもあるっぽい。


CloudBees Jenkins for Google App Engineの登録

デフォルトだとGAE用のJenkins Plugin?が入って無いのでここから登録しないといけないっぽい。

https://appengine.cloudbees.com/index.html

GAEの管理権限のあるGoogleアカウントで認証。

結構時間がかかるけどこんな画面になったら完了。

スクリーンショット 2014-06-08 23.01.47.png

To Jenkins!のボタンでJenkinsに戻れる。

※こちら→http://sboxsharp.blogspot.jp/2013/01/cloudbees-jenkins-for-google-app-engine.html# 参考にしました。

(レポジトリはgithubを使ったのでCloudBees上にはレポジトリ作らなかった)


sbtを使える様にセットアップ


Jenkins sbt pluginの追加

Builds > Jenkinsの管理 > プラグインの管理 からチェックしてインストールするだけ。


使いたいsbtのバージョンのsbt-launch.jarをWebDAVにアップロード

こちらを参考に→http://blog.shinichy.com/2013/07/cloudbees-devcloudjenkinssbt.html#

手順だけまとめると


  • sbt-launch.jarをCloudBeesのWebDAVにアップロード

  • Jenkinsのシステム設定でsbtのパスをアップロードしたやつに指定

  • Jobの設定 > Build EnvironmentでPrivate WebDAVをマウントするようにチェック


sbtのプラグインsbt-appengineを使っている場合はAPPENGINE_SDK_HOME環境変数を指定

JenkinsのGAE Pluginで使われるSDKの場所は/opt/google/gae_java_sdk/1.8.latestだったので Jenkinsの管理 > システムの設定 から環境変数を指定。

スクリーンショット 2014-06-08 23.12.25.png


ビルドの設定


  • sbtでpackageして、

  • target/webapp/ をデプロイする様に設定

スクリーンショット 2014-06-08 23.13.40.png

※app-idとversionはappengine-web.xmlに書かれているのを設定でオーバーライドできるので便利