blog4j 2.0 このページをアンテナに追加 RSSフィード

2012-02-01

Heroku上でJenkinsを動かす

| 16:11 | Heroku上でJenkinsを動かすを含むブックマーク

ということで、Heroku上でJenkinsを動かすための手順をメモしておきます。

普通にJenkinsのソースをGitHubから持ってきてHeroku上でビルドしても、OpenJDKのAPTバグとか、Herokuのファイルサイズの上限とかで失敗してしまいます。なので、必要最低限のソースを使ってPOMをゴニョゴニョしてやれば、Heroku上でビルドできるようになります。


そんな訳で、できたものをGitHub上におきました。

https://github.com/kiy0taka/jenkins-for-heroku

これを使ってcedarスタックに上げてしまえば、とりあえず動きます。

# ビルドに少々時間がかかります。

$ git clone git://github.com/kiy0taka/jenkins-for-heroku.git
$ cd jenkins-for-heroku
$ heroku create --stack cedar
$ git push heroku master

Herokuにデプロイしてからやること

パブリックなところにJenkinsを置く場合は、必ずセキュリティを有効にしておきましょう。

元にしたJenkinsのソースは1.428で、最新版ではいくつかセキュリティの問題なんかも対応されています。また、Heroku上でビルドするためにデフォルトで入っているプラグインとかも外しているので、このままではあまり役に立ちません。「Jenkinsの管理」から自動でバージョンアップを選んで最新版に置き換えましょう。

  • ポーリングするJobを作る

Herokuにデプロイしたアプリケーションはアクセスがないと止まってしまい、アクセスがあると再度、別のインスタンスデプロイされるようです。再デプロイされたときにJENKINS_HOMEは消えてしまっています。適当なJobを作って、シェルの実行で「curl http://xxxxx.herokuapp.com/」とかして、1時間*1おきぐらいに実行するようにしておけばいいと思います。


その他

Maven Integrationプラグインとかを使ってビルドすると失敗するので、Mavenプロジェクトをビルドするときは「シェルの実行」で、mvnコマンドを叩くようにするといいかと思います。あとは、Safe RestartとかTerminalとかのプラグインを入れておくと何かと捗るかと思います。


まとめ

*1:多分、1時間で行けると思います。

トラックバック - http://d.hatena.ne.jp/kiy0taka/20120201/1328080314