Slide 1

Slide 1 text

実際にCI/CDを動かしてみよう GitHubとCircleCIで始めるDevOpsデモ 日本仮想化技術株式会社 水野 源 [email protected] 2022/03/16 1

Slide 2

Slide 2 text

日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 • 英語名:VirtualTech Japan Inc. • 略称:日本仮想化技術/VTJ • 設立:2006年12月 • 資本金:3,000万円 • 売上高:2億6499万円(2021年7月期) • 本社:東京都渋谷区渋谷1-8-1 • 取締役:宮原 徹(代表取締役社長兼CEO) • 伊藤 宏通(取締役CTO) • スタッフ:11名(専任エンジニア:8名) • URL:http://VirtualTech.jp/ • 仮想化技術に関する研究および開発 • 仮想化技術に関する各種調査 • 仮想化技術に関連したソフトウェアの開発 • 仮想化技術を導入したシステムの構築 • OpenStackの導入支援・新規機能開発 ベンダーニュートラルな 独立系仮想化技術の エキスパート集団 2

Slide 3

Slide 3 text

発表者について • 水野 源 • VTJ 技術部所属 • Ubuntu JPメンバー • ubuntu.comメンバー • 日経Linuxにて「Linux 100%活用 ガイド」を連載中(8年目) • 1月に新刊を出しました ← New! 3

Slide 4

Slide 4 text

本日のアジェンダ • そもそもDevOpsとは • CI/CDとは • デモの全体像 • GitHubとCircleCIの設定 • テストとビルド • まとめ 4

Slide 5

Slide 5 text

そもそもDevOpsとは • DevとOpsが協力していい感じに、という程度の意味の言葉。 • DevOps自体が特定の技術や手法を指すわけではない。 • Flickrが「高速な開発とデプロイを行う上で、うちはDevとOpsがうまくコラボし てるんだぜ」みたいなことを言ったのがはじまり(らしい)。 • 開発サイクルを高速に回すためには、DevとOpsの協力は必須 • つまりアジャイル開発には必須。 • これを実現するためには、様々なツールが必要。 • そのひとつがCI/CD。 5

Slide 6

Slide 6 text

CI/CDとは • Continuous IntegrationとContinuous Deliveryの略。 • Continuous Deployが含まれることも。 • コードのテスト・ビルド・リリース(の準備)までを自動化すること。 • テストを必須とすることでコードの品質を担保。 • 自動化することで属人性と人的ミスを排除。 • 高速化と省力化。 6

Slide 7

Slide 7 text

デモの全体像 7 開発者 GitHub CircleCI 1. commit 2. webhook 3. workflow job1 job2 job3 4. checkout 5. CI/CD

Slide 8

Slide 8 text

デモ 8

Slide 9

Slide 9 text

まとめ • CircleCIはGitHubのアカウントでログインできる。 • リポジトリに対する権限などはGitHub側で管理できる。 • GitHubのリポジトリ=CircleCIのプロジェクト。 • Set Up Projectを行うだけで、自動的にデプロイキーやWebhookが登 録される。 • 連携についてユーザー側で行うことはほとんどない。 • ただしCircleCIからGitHubへCommitしたい場合などは別の鍵が必要。 • Workflow/JobはYAMLに列挙するだけ。 • →これだけで自動的にCI/CDが実行される。 • ファイル名はconfig.yml(割とハマる) 9

Slide 10

Slide 10 text

参考(になるかもしれない)資料 • GitHubとCircleCIでCI/CDをはじめよう • https://devops-blog.virtualtech.jp/entry/2022/02/01/132107 • GitHubとの連携 • https://circleci.com/ja/integrations/github/ • CircleCI実践入門(書籍) • https://gihyo.jp/book/2020/978-4-297-11411-4 10