Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実際にCI/CDを動かしてみよう - GitHubとCircleCIで始めるDevOpsデモ -

実際にCI/CDを動かしてみよう - GitHubとCircleCIで始めるDevOpsデモ -

今回の「とことんDevOps勉強会」はDevOpsの中でコアとなるCI/CDについてデモを交えながら紹介します。実際に動いている環境を見ながら、CI/CDとはなんぞや、あんなことしたい、こんなことしたいという議論をしましょう。

今回のデモはCI/CDを実現する最小限の要素をGitHub、CircleCIを使用してCI部分を中心に紹介するシナリオです。ここから今後の展開を色々と想像していきましょう。

セミナー動画
https://www.youtube.com/watch?v=X-hVIIgtjn4

Acde11d776a108853232d01921eaeb77?s=128

とことんDevOps

March 17, 2022
Tweet

More Decks by とことんDevOps

Other Decks in Technology

Transcript

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

  2. 日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 • 英語名: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
  3. 発表者について • 水野 源 • VTJ 技術部所属 • Ubuntu JPメンバー

    • ubuntu.comメンバー • 日経Linuxにて「Linux 100%活用 ガイド」を連載中(8年目) • 1月に新刊を出しました ← New! 3
  4. 本日のアジェンダ • そもそもDevOpsとは • CI/CDとは • デモの全体像 • GitHubとCircleCIの設定 •

    テストとビルド • まとめ 4
  5. そもそもDevOpsとは • DevとOpsが協力していい感じに、という程度の意味の言葉。 • DevOps自体が特定の技術や手法を指すわけではない。 • Flickrが「高速な開発とデプロイを行う上で、うちはDevとOpsがうまくコラボし てるんだぜ」みたいなことを言ったのがはじまり(らしい)。 • 開発サイクルを高速に回すためには、DevとOpsの協力は必須

    • つまりアジャイル開発には必須。 • これを実現するためには、様々なツールが必要。 • そのひとつがCI/CD。 5
  6. CI/CDとは • Continuous IntegrationとContinuous Deliveryの略。 • Continuous Deployが含まれることも。 • コードのテスト・ビルド・リリース(の準備)までを自動化すること。

    • テストを必須とすることでコードの品質を担保。 • 自動化することで属人性と人的ミスを排除。 • 高速化と省力化。 6
  7. デモの全体像 7 開発者 GitHub CircleCI 1. commit 2. webhook 3.

    workflow job1 job2 job3 4. checkout 5. CI/CD
  8. デモ 8

  9. まとめ • CircleCIはGitHubのアカウントでログインできる。 • リポジトリに対する権限などはGitHub側で管理できる。 • GitHubのリポジトリ=CircleCIのプロジェクト。 • Set Up

    Projectを行うだけで、自動的にデプロイキーやWebhookが登 録される。 • 連携についてユーザー側で行うことはほとんどない。 • ただしCircleCIからGitHubへCommitしたい場合などは別の鍵が必要。 • Workflow/JobはYAMLに列挙するだけ。 • →これだけで自動的にCI/CDが実行される。 • ファイル名はconfig.yml(割とハマる) 9
  10. 参考(になるかもしれない)資料 • 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