O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

最近、話が合わなかったハナシ 〜Jenkins2.0からの新機能について〜 #jenkinsstudy

2.460 visualizações

Publicada em

「第10回大阪Jenkins勉強会」(2017/08/10)にて発表させて頂いたLTのスライドです。(時間:13分)

申し込みサイト : https://connpass.com/event/62470/

Publicada em: Software
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

最近、話が合わなかったハナシ 〜Jenkins2.0からの新機能について〜 #jenkinsstudy

  1. 1. 第10回 大阪Jenkins勉強会 LT Ver 1.1 最近、 話が合わなかった ハナシ 〜Jenkins2.0からの新機能について〜
  2. 2. 何もかもみな懐かしい… Jenkins2.0 が出てから、 1年以上が経ちました。 Jenkins2.0 が出てから、
  3. 3. 最近、 こんな会話 しまして…
  4. 4. 良かった共有 Jenkins2.0なってから PipelineScript(Jenkinsfile)が 書けるようになって、 AsCodeできるし ソースリポジトリ側に 含められるし、 楽になりましたわー。
  5. 5. 良かった共有 Jenkins2.0なってから PipelineScript(Jenkinsfile)が 書けるようになってから、 AsCodeできるし ソースリポジトリ側に 含められるし、 楽になりましたわー。 ですよねですよね ですよね!ですよね!
  6. 6. 違和感① でもねー、 できれば master以外のブランチも pushしたら ビルドして ほしいんすよねー
  7. 7. 違和感① でもねー、 できれば master以外のブランチも pushしたら ビルドして ほしいんすよねーん?ん?
  8. 8. 違和感② もっと言うと 「プロジェクト全体」や 「部署」もっと言えば 「全社」への水平展開 考えると 「リポジトリ増やしたら 自動的に登録」 されてほしいん ですよねー。
  9. 9. 違和感② もっと言うと 「プロジェクト全体」や 「部署」もっと言えば 「全社」への水平展開 考えると 「リポジトリ増やしたら 自動的に登録」 されてほしいん ですよねー。 んん!?んん!?
  10. 10. 祝!リリース 2016年、Jenkins2.0 そのためのそのための Jenkins2.0Jenkins2.0 じゃないの?じゃないの?
  11. 11. 祝!リリース 2016年、Jenkins2.0 と、思ってたのですがと、思ってたのですが …… オレがまちがってるのオレがまちがってるの かもしれん…かもしれん… と不安になってきたと不安になってきた ので!ので! この会場に居る人とだけでもこの会場に居る人とだけでも 「意識合わせ」しときたい「意識合わせ」しときたい
  12. 12. まえおき • 今日伝えたいこと –Jenkins2.0を今から始める人へ • 「Jenkins2.0って ってことも出来るらしいで!知ら〜 んけど」と、周りにひけらかせる「アバウトな知識」 –「そんなん知ってるわ」な人へ • 内容のレビュー(わりと記憶から出してるので) • 今日出てこないこと –具体的なやり方 • デモ…どころか画面すらあまり出てこない(予定)
  13. 13. Jenkins2.0に なって 強化されたとこ
  14. 14. Jenkins2.0になって強化されたとこ • BuildのAsCode – 「Pipeline Script」と、ジョブ種「Pipeline」 • ジョブの内容定義の外部化 – Jenkinsfile • セキュリティ – デフォルトが「Login要」に • 「ジョブ自動生成系」ジョブ種の追加 – Multibranch Pipeline , Github Organization • ユーザビリティ – ジョブの編集画面、設定画面の小分け、など
  15. 15. 本日は、ここの話 • BuildのAsCode – 「Pipeline Script」と、ジョブ種「Pipeline」 • ジョブの内容定義の外部化 – Jenkinsfile • セキュリティ – デフォルトが「Login要」に • 「ジョブ自動生成系」ジョブ種の追加 – Multibranch Pipeline , Github Organization • ユーザビリティ – ジョブの編集画面、設定画面の小分け、など
  16. 16. 追加の新ジョブ種 “Multibranch Pipeline“ と “Github Organization”
  17. 17. 追加の新ジョブ種 “Multibranch Pipeline“ と “Github Organization” とと その前にその前に
  18. 18. 追加されたジョブ、ひとつ目 ジョブ種類 「パイプライン」 について (本日伝えたいことの前段)
  19. 19. ジョブ種「パイプライン」 • 「Pipeline Script」で処理が書けるジョブ種 • スクリプト記述は「いくつかの方法」で – Git/Subversion上の “Jenkinsfile” • とあるブランチから – ジョブ自体に「その場書き」したテキスト
  20. 20. ジョブ種「パイプライン」で出来る事 「As Code」 と「ジョブ内容の外部化」 Jenkins2.0従来のJenkins Jobの定義情報 Jenkins ソース管理 リポジトリ ソース(Project) ソースを取得 ソースの在り処(のみ) Jenkins2.0 ソース管理 リポジトリ ソース(Project) ソースを取得 コード化された Jobの定義情報 (Jenkinsfile)
  21. 21. ジョブ種「パイプライン」で出来る事 「As Code」 と「ジョブ内容の外部化」 Jenkins2.0従来のJenkins Jobの定義情報 Jenkins ソース管理 リポジトリ ソース(Project) ソースを取得 ソースの在り処(のみ) Jenkins2.0 ソース管理 リポジトリ ソース(Project) ソースを取得 コード化された Jobの定義情報 (Jenkinsfile) と、いうのをと、いうのを 覚えといて覚えといて くださいください
  22. 22. 追加の新ジョブ種 “Multibranch Pipeline“ と “Github Organization”
  23. 23. 追加されたジョブ、ふたつ目 ジョブ種類 「Multibranch Pipeline」 について
  24. 24. ジョブ種「Multibranch Pipeline」 • ソース管理システムの「ソースリポジトリ」を 登録するジョブ種 – 登録出来るのはGit,Subversion • 登録後、リポジトリに「ブランチが作成・更新 されるたび」にジョブを作成・実行する – ただし直下に”Jenkinsfile”が在る場合のみ • Jenkins上は「フォルダ」に見える
  25. 25. ジョブ種「Multibranch Pipeline」 Jenkins2.0 ソース管理システム (git,Subversion) ソースリポジトリ ” jenkins-multibranch-pipeline-sample” ブランチ”master” Jobの定義情報(Jenkinsfile) リポジトリを指定し ジョブ定義 「Multibranch Pipeline」ジョブ (Jenkins上はフォルダ) ブランチ”sample-feature-branch-01” Jobの定義情報(Jenkinsfile) ブランチ”sample-feature-branch-02” Jobの定義情報(Jenkinsfile) ブランチ”sample-feature-branch-03” Jobの定義情報(Jenkinsfile) “Jenkinsfile”の 設置を検知 ブランチの作成を 検知し、ジョブ生成
  26. 26. ジョブ種「Multibranch Pipeline」 Jenkins2.0 ソース管理システム (git,Subversion) ソースリポジトリ ” jenkins-multibranch-pipeline-sample” ブランチ”master” Jobの定義情報(Jenkinsfile) リポジトリを指定し ジョブ定義 「Multibranch Pipeline」ジョブ (Jenkins上はフォルダ) ブランチ”sample-feature-branch-01” Jobの定義情報(Jenkinsfile) ブランチ”sample-feature-branch-02” Jobの定義情報(Jenkinsfile) ブランチ”sample-feature-branch-03” Jobの定義情報(Jenkinsfile) “Jenkinsfile”の 設置を検知 ブランチの作成を 検知し、ジョブ生成 ソースリポジトリをソースリポジトリを 登録しておけば、登録しておけば、 ブランチがブランチが 作成・修正される作成・修正される ごとにごとに CICIが回せるが回せる
  27. 27. 詳しくは…(手前味噌ですみません) デモ(動画)はココらへん https://www.slideshare.net/miurakazuhito/jenkins20-7jenkins-jenkinsstudy#58
  28. 28. さらに
  29. 29. 追加されたジョブ、みっつ目 ジョブ種類 「Github Organization」 について
  30. 30. ジョブ種「GitHub Organization」 • github.comの「Organization」を登録する ジョブ種 • 登録したOrganizationに属すリポジトリに対応 したジョブを自動的に作成する – リポジトリ1つずつに、先ほどの 「Multibranch Pipeline」を作成してくれる感じ • 同じく「直下にJenkinsfileがあったら」を条件に • Jenkins中のUIからは「フォルダのフォルダ」に 見える
  31. 31. ジョブ種「GitHub Organization」 Jenkins2.0 GitHub Organization “A” ソースリポジトリ”01” Jobの定義情報(Jenkinsfile) ソースリポジトリ”02” Jobの定義情報(Jenkinsfile) ソースリポジトリ”03” Jobの定義情報(Jenkinsfile) 「GitHub Organization」ジョブ (Jenkins上はフォルダのフォルダ) Organizationを指定し ジョブ定義 ビルドジョブ ”01” (Multibranch Pipeline) リポジトリの作成を 検知し、ジョブ生成 ビルドジョブ ”02” ビルドジョブ ”03”
  32. 32. ジョブ種「GitHub Organization」 「GitHub Organization」というジョブ種が公式標準で追加 Jenkins2.0 GitHub Organization “A” ソースリポジトリ”01” Jobの定義情報(Jenkinsfile) ソースリポジトリ”02” Jobの定義情報(Jenkinsfile) ソースリポジトリ”03” Jobの定義情報(Jenkinsfile) 「GitHub Organization」ジョブ (Jenkins上はフォルダ) Organizationを指定し ジョブ定義 ビルドジョブ ”01” リポジトリの作成を 検知し、ジョブ生成 ビルドジョブ ”02” ビルドジョブ ”03” ““組織”組織” のような単位でのような単位で 「増える「増える プロジェクト」をプロジェクト」を 自動検知・ビルド自動検知・ビルド
  33. 33. ジョブ種「GitHub Organization」 「GitHub Organization」というジョブ種が公式標準で追加 Jenkins2.0 GitHub Organization “A” ソースリポジトリ”01” Jobの定義情報(Jenkinsfile) ソースリポジトリ”02” Jobの定義情報(Jenkinsfile) ソースリポジトリ”03” Jobの定義情報(Jenkinsfile) 「GitHub Organization」ジョブ (Jenkins上はフォルダ) Organizationを指定し ジョブ定義 ビルドジョブ ”01” リポジトリの作成を 検知し、ジョブ生成 ビルドジョブ ”02” ビルドジョブ ”03” ただし、ただし、 github.comgithub.com に乗ってに乗って ないと…ないと…
  34. 34. せつなくはありますが… 5年前は「自力で仕組みを作る」しましたが… 公式本体の機能だけで実現可能に!
  35. 35. 詳しくは…(手前味噌ですみません) 説明とデモ(動画)はココらへん https://www.slideshare.net/miurakazuhito/fat-jenkins#77
  36. 36. ソース管理と Jenkinsで 出来ること を 整理すると…
  37. 37. ソース管理&Jenkinsで出来る事を整理 ソース管理システム・サービス グループ・ユーザ Jenkins2.0 ソースリポジトリ ブランチ Organization github.com ジョブ種「GitHub Organization」 GithubのOrganizationを Jenkinsに登録しておくと、 リポジトリを作成・更新すると、 ジョブ(Multibranch Pipeline) を作成・実行してくれる。 ジョブ種「Multibranch Pipeline」 リポジトリを Jenkinsに登録しておくと、 ブランチ作成・更新すると、 ジョブを作成・実行してくれる。 ジョブ種「パイプライン」 リポジトリを Jenkinsに登録しておくと、 ブランチ作成・更新すると、 ジョブを作成・実行してくれる。
  38. 38. でも…これ、 なんで 出来たん? (出てきた背景)
  39. 39. これが出てきた背景 • CIサービスの台頭 – TravisCI、CircleCI、AppVeyor、etc… – 大体のサービスが基本的に… • 「専用設定ファイルをリポジトリに置いて…」という AsCode • 「branchが生成/pushたびに…」というMultibranch対応 • “github”から「ユーザ or Orginization」を登録して おくと1クリックでリポジトリ登録出来る – ここは半自動 – これの影響を請けて、 Jenkinsのジョブ種が対応されたのかな?
  40. 40. でも、 周りで 「2つのジョブ」 使ってるって 聞かないな…
  41. 41. なんでやろ… • 日本で流行ってない(あまり事例が出ない) 理由の推測(妄想) – 聞いてる範囲で「日本のJenkins利用理由」の多くは… • 閉鎖環境にあり外サービスが使えないから • ビルドする環境に「特殊性」があり 開発現場のマシンに依存してるから – 上記が大多数なら「ソース管理系を限定される」のが 相性悪いのではないか • Git,Subversionは「今時デファクト」「社内サーバ立てれ る」なので Multibranch Pipeline の普及は問題なさそう – 「github(というWebサービス)を使う」限定が Github Organization の普及を阻んでそう
  42. 42. なんでやろ… • 日本で流行ってない(あまり事例が出ない) 理由の推測(妄想) – 聞いてる範囲で「日本のJenkins利用理由」の多くは… • 閉鎖環境にあり外サービスが使えないから • ビルドする環境に「特殊性」があり 開発現場のマシンに依存してるから – 上記が大多数なら「ソース管理系を限定される」のが 相性悪いのではないか • Git,Subversionは「今時デファクト」「社内サーバ立てれ る」なので Multibranch Pipeline の普及は問題なさそう – 「github(というWebサービス)を使う」限定が Github Organization の普及を阻んでそう ま、ま、 「友達少ない「友達少ない だけ説」もだけ説」も 否めません否めません けどねっ!けどねっ!
  43. 43. ま、ともあれ… みなさんと 意識合わせしときたい まとめ
  44. 44. まとめ • Jenkins2.0には 「ソース管理と連動して、 自動的ジョブを生成・起動する」ための 「ジョブ種が追加」されている – Multibranch Pipeline • ソースリポジトリ一つ分の「ブランチ全部」が対象 – Github Organization • github内「Organization1個内のリポジトリ全部」が対象 • ただし「ソース管理系」を限定 – Multibranch Pipeline は管理システムが Git or Subversion – Github Organization は管理サービスがGithub.com

×