恋するJenkins
Upcoming SlideShare
Loading in...5
×
 

恋するJenkins

on

  • 2,296 views

2012/11/22 勉強会資料

2012/11/22 勉強会資料

Statistics

Views

Total Views
2,296
Views on SlideShare
2,295
Embed Views
1

Actions

Likes
2
Downloads
5
Comments
0

1 Embed 1

http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    恋するJenkins 恋するJenkins Presentation Transcript

    • 恋するJenkins 2012.11.22 ナカオヒロシ
    • 自己紹介• ナカオヒロシ• フリーランスのプログラマ• 最近は RoR とか WebGL とか• 美容室の立ちあげとか
    • みなさん恋してますか?
    • 超越している 5% してる 30% してない 65%恋してますか?
    • ボクは恋してます
    • このお方、Jenkinsに
    • と、いうことで• 今日はJenkinsについて、お話します。
    • CI/Jenkinsってなーに?
    • CI• 継続的インテグレーション Coutinuous Integration• ビルド、テストなどを継続的に実行• 問題の早期発見 品質の維持
    • Jenkins• CIツール• GUIでラクラク• プラグインが豊富なので、 色々なシーンで活用!
    • 活用シーン• 自動ビルドでの品質維持• デプロイの自動化• 夜間バッチ処理 実行結果も画面で確認 ジョブのチェーンも可能
    • Installing Jenkins!!
    • Macでインスコ# Homebrew でインストールできます$ brew install jenkins# Jenkins のバージョン、起動方法などを確認$ brew info jenkinsjenkins: stable 1.486, HEAD
    • 起動してみる# brew info jenkins コマンドで起動方法を確認できます。# 手動起動する場合(今回はコレで)$ java -jar /usr/local/Cellar/jenkins/1.490/libexec/jenkins.war# Mac起動時に自動起動させる場合$ mkdir -p /Library/LaunchAgents$ ln -nfs /usr/local/Cellar/jenkins/1.490/homebrew.mxcl.jenkins.plist /Library/LaunchAgents/$ launchctl load -w /Library/LaunchAgents/homebrew.mxcl.jenkins.plist# 常に起動させるならサーバでやったほうがいいっすね。
    • localhost:8080
    • Mac 以外• http://jenkins-ci.org• インストールパッケージも置いてるよ (コッチ使ったほうがラク?)
    • Rails + Github + Jenkins!!
    • やること• Git に Rails アプリがあるよ (今回はGithubにサンプルを作成)• Jenkins で clone して、 RSpec のテストを実行!• テストに失敗したら、 メールでお知らせ!
    • 今回の前提• Git インストール済み• Ruby(RVM, rb-env), sqlite3 などの Rails実行に必要な環境も• Rails アプリに RSpec で テストが書かれている
    • まずは準備
    • プラグイン• Jenkins には色々なプラグインが あります• プロジェクトに必要なプラグインを インストールします
    • プラグインの管理
    • 今回使うもの• Git• ruby-runtime, ruby metrics, Rake, (Rvm or rb-env)• インストール後は、 要再起動
    • システムの設定
    • 今回使うもの• Git, Git plugin GitのPATHとか設定とか• Rake Rvm を使っている場合はココに PATH• E-mail 通知 (Gmail とかお好みで)
    • プロジェクトの追加
    • プロジェクト• トップ画面から「新規ジョブ作成」• ジョブ名は適当に• 「フリースタイル・プロジェクトのビ ルド」を選択
    • 新規ジョブ作成
    • プロジェクトの設定• トップ画面から「新規ジョブ作成」• ジョブ名は適当に• 「フリースタイル・プロジェクトのビ ルド」を選択
    • ジョブの設定
    • ジョブの設定#1• ソースコード管理システム • Git ↓サンプル git@github.com:hiroshinakao/ jenkins_sandbox.git ブランチは develop
    • ジョブの設定#2• ビルドトリガ • 「定期的に実行」 • スケジュール(cron書式 30分毎に実行する場合は */30 * * * *
    • ジョブの設定#3• ビルド環境 • rbenv rubyのバージョンを指定 • rvm #{バージョン}@#{gemset名} 1.9.3-p286@jenkins_sandbox
    • ジョブの設定#4• ビルド • ビルド手順の追加 「シェルの実行」
    • ジョブの設定#4bundle install --without=productionbundle exec rake db:migrate:resetbundle exec rake spec# 必要なgemをインスコして# スキーマを作って# テストを実行している# だけだね
    • ジョブの設定#5• ビルド後の処理 • Publish Rcov report ディレクトリ: ./coverage/rcov • E-mail 通知 宛先は適当に
    • ジョブの設定#6• 「保存」をクリックして準備終了!!
    • 実行してみよー
    • 手動実行• 「ビルドの実行」をクリック!! ジョブが開始されます• 「コンソール出力」で 実行中の出力を確認できます
    • ジョブ画面
    • コンソール出力
    • 実行結果• 青いアイコンが表示 => 成功!!• 赤いアイコンが表示 => 失敗…orz => メール送信されます
    • カバレッジの確認
    • カバレッジの確認• 「Rcov report」をクリック!! カバレッジが表形式で表示されます
    • 前提• RSpec のテストがあること• rcov 形式でテスト結果を出力設定 simplecov, simplecov-rcov• 詳しくはgitの履歴見て
    • カバレッジ表
    • カバレッジ詳細
    • Jenkins + Rails• Rails Best Practices• DRY 検査 => コピペの検出• RDoc生成• Capistrano でデプロイ• まぁ、色々できますw
    • もっと詳しく
    • jenkins-ci.org
    • 本があるよ
    • Q and A
    • 素敵な恋をしてください
    • おしまい