Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate

1,781 views

Published on

第10回 Jenkins勉強会の資料です。
https://www.meetup.com/ja-JP/Tokyo-Jenkins-Area-Meetup/

Jenkinsの最新機能を知りたい → Jenkins Community blog
https://jenkins.io/node/

Pluginを探したい → Plugins Index Renewal !!
https://plugins.jenkins.io/

Jenkinsfileで使えるstepを探す → Pipeline Step References
https://jenkins.io/doc/pipeline/steps/

バグを踏んだ? → Jenkins Issue Tracker
https://issues.jenkins-ci.org/projects/JENKINS/issues/JENKINS-44926?filter=allopenissues

Jenkinsの日本語情報は無いかな? → 日本Jenkinsユーザ会
http://jenkins.jp/

Jenkinsのイベントが知りたい → Tokyo Jenkins Area Meetup
https://www.meetup.com/Tokyo-Jenkins-Area-Meetup/

Jenkinsに関するPodcast → Rebuildfm #161 川口さんゲスト
https://rebuild.fm/161/

Published in: Technology
  • Be the first to comment

改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate

  1. 1. 改訂第3版 Jenkins 実践入門 What’s newから 見るJenkins Update 2017/7/7 Yuki Iwanari Masanori Satoh
  2. 2. Yuki Iwanari システムインテグレーターのR&D部門にて、ア ジャイル開発プラットフォームの開発 およびアジャイル開発のトレーニング、コンサル ティング、自動化などに従事。 [改訂第3版] Jenkins実践入門(技術評論社)執 筆、Jenkinsユーザ会スタッフ、CodeZine Academy Jenkins Boot Camp(翔泳社) 講師など、Jenkinsに関連する活動に多く携わっ ている。 出典: http://j-town.net/tottori/news/localnews/207429.html 出身
  3. 3. 2004 Hudsonとしてスタート 2008 Duke's Choice Awards 2010 Sun Microsystems 買収 2011 Jenkinsにフォーク 2015 Active user +100,000 2016 Jenkins 2.0 Release 2010 日本Jenkinsユーザ会発足 2011 Jenkins実践入門初版発売 2012 Jenkinsユーザカンファレンス 2015 Jenkinsユーザカンファレンス 2015 改訂新版Jenkins実践入門 2017 改訂第3版Jenkins実践入門 JenkinsとJenkins実践入門・日本Jenkinsユーザ会の歴史
  4. 4. Jenkinsの移り変わり
  5. 5. 2016年4月リリース
  6. 6. Jenkins 2.0 Pipeline as Code ● JenkinsのビルドをDSLで記述 ● Jenkinsfileという名前でバージョ ン管理ができる ● 開発・運用チームの共通言語 ● ジョブが途中で何かしらの問題で 止まっても、再開可能 ● Git/GitHubのブランチが標準で サポート ● Snipetで記述をサポート ● 従来のGUIでの設定も可能
  7. 7. Scripted Pipelineサンプル Jenkinsfile (Scripted Pipeline) node { stage('Build') { sh 'make' } stage('Test') { sh 'make check' junit 'reports/**/*.xml' } stage('Deploy') { sh 'make publish' } } 2016年4月にJenkins 2.0と一緒にリリー スされたScripted PipelineはGroovy DSL Groovyが記述できれば記載は容易 Declarative Pipelineに比べるとやや上級 者向け
  8. 8. Declarative Pipelineサンプル Jenkinsfile (Declarative Pipeline) pipeline { agent any stages { stage('Build') { steps { sh 'make' } } stage('Test'){ steps { sh 'make check' junit 'reports/**/*.xml' } } stage('Deploy') { steps { sh 'make publish' } } } } 2017年2月 GA 2016年4月にJenkins 2.0と一緒にリリー スされたScripted PipelineはGroovyベー スのDSLで、少し覚えるのが難しいケース があった 宣言的に、かつブロックベースでPipeline が記述できるようになった。 初心者向け そのため書籍ではDeclarative Pipeline ベースでサンプルを作成 Document
  9. 9. Pipeline Stage View
  10. 10. “第10章 Pipelineの設定”新設 基本的なPipelineの説明から、記述方法、よく使うSnipetや、並列実行を紹介 Multi branchやShared Libraryの便利な機能も紹介
  11. 11. 書籍の執筆 スケジュール 2016/05 企画スタート 2016/06 企画書・目次Fix・改訂開始 2017/01 第一校組版 2017/02 Declarative Pipeline GA! 急いでベースラインを変更 2017/03 第二校組版・スケジュール遅延 … 2017/04 最終稿組版 2017/05 発売
  12. 12. Blue Ocean 2017/04 GA GUI Pipeline Editor Pipeline Visualization Git / GitHub Integration Personalization
  13. 13. Roadmapof BlueOcean link
  14. 14. 書籍の執筆 スケジュール 2016/05 企画スタート 2016/06 企画書・目次Fix・改訂開始 2017/01 第一校組版 2017/02 Declarative Pipeline GA! 急いでベースラインを変更 2017/03 第二校組版・スケジュール遅延 … 2017/04 Blue Ocean GA! 急いで吸収… 2017/04 最終稿組版 2017/05 発売
  15. 15. Blue Ocean ? Jenkinsfile ? Jenkins 1系ではGUIで設 定していて、そこを解決す るためにPipeline ( Jekinsfile )が登場 そこへ、PipelineをGUIで も設定できるBlue Ocean が登場 Jenkinsの良いところは、 プラグインアーキテクチャ 開発チームのスタイルに 合わせてPipeline (Declarative/Scripted)、 Blue Oceanを選択するの がGood. ぜひチームで建設的な議 論をして、ベストな答えを
  16. 16. 推奨プラグインの自動インストール
  17. 17. 小休止 おすすめプ ラグイン ● MaskPasswords ○ 実行結果もマスクしてくれる。 最近は Credential Bindings も多い ● TextFinder ○ ログなどから文字列を検出してビルド結果を不安定 などに変更できる ● Xvfb ○ xvfbを使って、xがなくてもChromeなどでSelenium が動かせる ● Timestamper ○ コンソールアウトプットにタイムスタンプを追加 ● AnsiColor ○ コンソールアウトプットをカラーリング ● Pipeline Multibranch Plugin ○ ブランチが作成されたら、自動でジョブを作成、実 行 ● Nested View / Folders ○ Jobが増えてViewを整理して見たいときにÅ
  18. 18. Job設定画面の改善
  19. 19. Jenkins認定試験 英語のみ
  20. 20. Jenkins周辺ツールの移り変わり
  21. 21. Gitメインのサンプルへ 初版企画時 第2版企画時 From Eclipse Community Survey 2014
  22. 22. Java関連ツールのバージョンアップ Java 8 → Java 9…にするか、悩みまくったら、見事にリリースがスリップ! Gradle / Senelium / CheckStyle / Findbugs / JaCoCo など、バージョンアップ
  23. 23. Java関連ツールのバージョンアップ Java 8 → Java 9…にするか、悩みまくったら、見事にリリースがスリップ! Gradle / Senelium / CheckStyle / Findbugs / JaCoCo など、バージョンアップ Maven 3.5 リリース2017/04/07!! 2度あることは3度ある
  24. 24. Java関連ツールのバージョンアップ Java 8 → Java 9…にするか、悩みまくったら、見事にリリースがスリップ! Gradle / Senelium / CheckStyle / Findbugs / JaCoCo など、バージョンアップ Maven 3.5 リリース2017/04/07!! 2度あることは3度ある
  25. 25. 書籍の執筆 スケジュール 2016/05 企画スタート 2016/06 企画書・目次Fix・改訂開始 2017/01 第一校組版 2017/02 Declarative Pipeline GA! 急いでベースラインを変更 2017/03 第二校組版・スケジュール遅延 … 2017/04 Blue Ocean GA! 急いで吸収… 2017/04 Maven 3.5.0 GA! 急いで吸収… 2017/04 最終稿組版 2017/05 発売
  26. 26. Java以外の各種ツールの追加 要望が多かった、PythonやRubyな どの他の言語の静的解析や テストツールの紹介を追記
  27. 27. Docker 本家 Jenkins.io でも情報量が増えている Dockerに関する記述を大きく追記 DockerでInstallする Dockerをビルドエージェントにする 小ネタ:マスタースレーブという名称はビルド エージェントに置き換えられました。
  28. 28. ChatOps / Hubot / Slack チャットを通じてオペレーションする事で、以下 のメリットがある - オペレーションをチーム内で共有 - フィードバックをより速く - オペレーションをシンプルにし、 属人化を防止 その他、監視やCIの共有、タスク割当など、活 用の幅は無限大 なお、初版のときはSlackは存在しなかったけ ど、今はみんなSlack大好き ビルド結果通知 API call メッセージ受信 @hubot Jenkins build SamplePipeline Build Success!! ChatOps
  29. 29. TFS / Backlog Jenkinsは、メジャーなITS (Issue Tracking System)との連携が可能 改訂第3版では、新たに以下の連携を追加 - Backlog - Team Foundation Server Redmineは初版から。 Jenkins実践入門の執筆でもbacklogでプロジェクト管理
  30. 30. Jenkinsの 情報を探す Jenkinsの最新機能を知りたい Pluginを探したい Jenkinsfileで使えるstepを探す バグを踏んだ? Jenkinsの日本語情報は無いかな? Jenkinsのイベントが知りたい Jenkinsに関するPodcast → Jenkins Community blog → Plugins Index Renewal !! → Pipeline Step References → Jenkins Issue Tracker → 日本Jenkinsユーザ会 → Tokyo Jenkins Area Meetup → Rebuildfm #161 川口さんゲスト
  31. 31. まとめ 初版の発売から足掛け7年、色々と変わりました。 SubversionからGitへ、みんな大好きGitHub / Slack. Ant / Maven / Gradleなどなど。 ページ数も320ページから+400ページへ! Jenkins実践入門でできるだけ多くのツールを紹介しているのは、自 分たちにあったツールをうまく組み合わせて、自分たちなりのベストな スタイルを見出してほしいからです。 そのため1章はツールの基本となる”考え方”にフォーカスした説明を しています。

×