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

Like this? Share it with your network

Share

恋するJenkins

  • 2,477 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
2,477
On Slideshare
2,476
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
5
Comments
0
Likes
2

Embeds 1

http://s.deeeki.com 1

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. おしまい