恋するJenkins

  • 1,585 views
Uploaded on

2012/11/22 勉強会資料

2012/11/22 勉強会資料

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,585
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
5
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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