27
2014/6/9(月) 仮想開発環境とか勉強会 (Vagrant/Chef/docker/Jenkins) で発表する予定でしたけど…参加出来なくてごめんなさい… JenkinsをJava開発で こんな感じで使ってます 未発表

JenkinsをJava開発でこんな感じで使っています

Embed Size (px)

DESCRIPTION

今日は、発表出来なくてすみません...。 写真の素材は下記サイトを使用しております。 http://www.pakutaso.com/ PAKUTASO(ぱくたそ)無料写真素材

Citation preview

2014/6/9(月) 仮想開発環境とか勉強会 (Vagrant/Chef/docker/Jenkins)

で発表する予定でしたけど…参加出来なくてごめんなさい…

JenkinsをJava開発で こんな感じで使ってます

未発表

-自己紹介-

株式会社キャムの江原と申します。

プログラマしてます。

twitter : @itokami1123

企業の経営戦略に役立つサービス「CAM MACS」を

AWSにて提供してます。

1月から転職して今の職場になりました。

そこで初めてJenkinsに触れました。

この発表では弊社でのJenkins利用方法を

ご紹介したいと思います。

もっとこうした方がいいよとかありましたら

是非ご指摘ください!

アジェンダ

=======

- 言語とフレームワーク

- 開発でJenkins

- 夜間バッチでJenkins

言語とフレームワーク

弊社はJavaでの開発がメインです。

一番新しい開発では、Spring Bootを使用しています。

Seasar2(Teeda)->JavaEE6->Springと変わってきました。

AngularJS (JavaScript)

Grunt Maven

Spring Boot (Java8)

PostgreSQLDomaREST

組込Jetty

開発でJenkins

GitHUB Jenkins

ソースのバージョン管理はGitを使用してます。

GitHub上のリポジトリにソースを集約してます。

PUSH( ∵ ( ∵ ( ∵

\プルリク・プルリク/

GitHUB Jenkins

GitHubからを5分毎にポーリングして

マージしたソースをJenkinsに取得しています。

PULL( ∵ ( ∵ ( ∵

\Git plugin!/

* /5 * * * *

GitHUB Jenkins

Jenkinsの状態(ビルド開始など)をHipChatで通知します。

HipChatは他にもGitHubの状態などにも使ってます。

通知

( ∵ ( ∵ ( ∵

\ Jenkins HipChat Plugin /

\ コンパイルはじまった! /

GitHUB Jenkins

ビルドジョブを実行します。緊急でビルドだけしたい時も考

えてテストジョブは分けてます。

( ∵ ( ∵ ( ∵

\ ビルドなう! /

maven

mvn install -DskipTests=true

ビルド ジョブ

JSHintやCheckstyleで品質管理

GitHUB Jenkins

ビルドジョブ終了をキッカケにテストジョブを実行〜。

テストジョブ終了をキッカケにデプロイテストを実行〜。

( ∵ ( ∵ ( ∵

ビルド ジョブ

テスト ジョブ

\ 上流から下流ジョブ /

デプロイテスト状況を結果通知

/ちゃんと動いてる!\

GitHUB Jenkins

ステージング環境やプロダクト環境に配備するJOBは手動で

実行しています。(課題の切りのよいタイミングで行う為)

( ∵ ( ∵ ( ∵

ステージング ジョブ

ステージング環境

\ 結合試験! /

課題管理はJIRA使ってます。

手動で起動

夜間バッチでJenkins

夜間処理といえば 商用のジョブ管理ソフトがありますが

高価ですね… !

例えば○○とか△△とか !

かといって cronだけでは 状況を把握しにくいです…

Jenkins

指定したタイミングでシェルが起動出きるのを利用して

夜間に行わせたい業務処理もJenkinsでやっています。

毎日の集計処理.sh

業務 ジョブ

業務 ジョブ

不要データ削除.sh PostgreSQL

Cron Columnプラグインを使えば

起動タイミングの設定をView上で確認できますし

Next Executionsプラグインを使えば

今度いつ起動するか確認できます。

ログも世代でブラウザから確認できますし

Timestamperを使えば実行のおよその時間も分かります

-まとめ-

まず、Jenkinsの前に

!

エクセル管理台帳を愛する !

業務系アプリのみなさんも !

そろそろソース管理ソフト導入しましょ。

根性や精神論もいいけど !

JenkinsでCheckstyleやJUnitを !

動かして品質の維持を自動化しましょ

Jenkinsは、シェルのジョブ管理にも !

便利に使えます。 !

ジョブ管理ソフトとしても優秀です!

転職前の私のように !

Jenkins導入されていない貴方! !

是非導入してみてください! !

むっちゃ楽になりますよ。

会社で導入してもらえないなら転職するしかないかも…

今日参加出来なくて すみませんでした…