GitHub CI/CD 実践ガイドーー持続可能なソフトウェア開発を支える GitHub Actions の設計と運用

ギットハブ シーアイシーディージッセンガイド ジゾクカノウナソフトウェアカイハツヲササエルギットハブアクションズノセッケイトウンヨウ

GitHub CI/CD 実践ガイドーー持続可能なソフトウェア開発を支える GitHub Actions の設計と運用の表紙
ハードウェア
著者:
野村 友規(ノムラ トモキ)
価格:
¥3,740
出版社:
技術評論社
出版日:
2024年05月29日頃
ISBN:
9784297141738
在庫:
1
判型:
単行本
5.0(4 件 / 楽天ブックス)
CI/CDGitGitHub

なぜ注目されているか

総合326位 ✦ NEW 言及 5 件・うち記事 4 件を掲載
出版前出版日02420222023202420252026

書籍紹介

本書は CI/CD の設計や運用について、GitHub を使ってハンズオン形式で学ぶ書籍です。GitHub Actions の基本構文からスタートし、テスト・静的解析・リリース・コンテナデプロイなどを実際に自動化していきます。あわせて Dependabot・OpenID Connect・継続的なセキュリティ改善・GitHub Apps のような、実運用に欠かせないプラクティスも多数習得します。
実装しながら設計や運用の考え方を学ぶことで、品質の高いソフトウェアをすばやく届けるスキルが身につきます。GitHub を利用しているなら、ぜひ手元に置いておきたい一冊です。

技書の森解説

GitHub でプルリクエストは回しているけれど、CI/CD は雰囲気で動かしている。そうした状態から、設計と運用の根拠を持ったパイプラインへ移るための実践書が『GitHub CI/CD 実践ガイド』 (野村友規 著、技術評論社、2024 年 5 月刊) です。副題は「持続可能なソフトウェア開発を支える GitHub Actions の設計と運用」で、技術評論社のエンジニア選書の一冊として刊行されました。版元は本書を、CI/CD の設計や運用について GitHub を使ってハンズオン形式で学ぶ書籍と説明し、GitHub Actions の基本構文からスタートしてテスト / 静的解析 / リリース / コンテナデプロイなどを実際に自動化し、あわせて Dependabot / OpenID Connect / 継続的なセキュリティ改善 / GitHub Apps のような実運用に欠かせないプラクティスも習得すると位置づけています。

基礎編 / 実践編 / 応用編の全 18 章、ワークフロー構文から継続的デリバリーまで

全 18 章が基礎編、実践編、応用編の 3 部に分かれます。基礎編 (第 1〜6 章) は「ソフトウェア開発と GitHub」から始まり、GitHub Actions の基礎概念、ワークフロー構文の基礎、継続的インテグレーションの実践、マトリックスや Environments、キャッシュを含む運用しやすいワークフローの設計、Composite Action とアクションの設計プラクティスを扱うアクションによるモジュール化へ進みます。実践編 (第 7〜13 章) はコードレビューを含むクリーンなリポジトリの維持、Dependabot による依存関係バージョンアップ、リリースノートの自動生成や Git タグの保護を含む GitHub Releases によるリリース自動化、GitHub Packages によるパッケージ管理とコンテナイメージの自動リリース、OpenID Connect による AWS とのセキュアなクラウド連携、Environments を利用した複数環境へのコンテナオーケストレーションのデプロイメント、アクションのオープンソース化と GitHub Marketplace への公開を扱います。応用編 (第 14〜18 章) は Reusable Workflows や動的なワークフロー定義といった高度な使い方、ソフトウェアサプライチェーン や最小権限のパーミッション、シークレットマネジメント を含む GitHub Actions のセキュリティ、依存関係の脆弱性スキャンとシークレットスキャンによるセキュリティのシフトレフト、GitHub Apps トークンによるクロスリポジトリアクセスを経て、第 18 章「継続的デリバリーの実践」でテスト戦略、リリース戦略、データベースと Infrastructure as Code の変更管理、疎結合なアーキテクチャまで視野を広げて締めます。

CI/CD が場当たり的な運用に陥る理由と、設計として学ぶ意味

ワークフローの YAML はどこかから写せば動き始めるため、動いた時点で学習が止まりやすいのが CI/CD の厄介なところです。しかしワークフローは本番環境へ変更を届ける経路そのものであり、その実行環境はリポジトリの中で最も強い権限を持ちます。外部のアクションを取り込むことはライブラリの依存関係を増やすことと同じサプライチェーン上のリスクであり、長期間有効なクラウドの認証情報をそのまま保存する運用は漏えい時の被害が大きく、必要なときだけ一時的な資格情報を得る認証連携へ寄せるのが安全側の設計です。依存関係の更新を人手に任せれば脆弱性は静かに積み上がります。本書が基礎編で構文を、実践編でリリースやデプロイの自動化を、応用編でセキュリティと再利用を扱い、テストから静的解析、リリース、デプロイまでを一本の流れとして実装させる構成になっているのは、CI と CD を別々のツール知識としてではなく、変更を安全にすばやく届けるための一つの仕組みとして身につけさせるためです。版元が、実装しながら設計や運用の考え方を学ぶことで品質の高いソフトウェアをすばやく届けるスキルが身につく、と説明しているのはこの点です。

対象読者と前提知識、GitHub Actions が初めての人と運用中の人

版元が想定する読者は、「GitHub は使っているけれど、プルリクエストぐらいしか利用していない」「CI/CD というキーワードは知っているけれど、自分で設計したことはない」「GitHub Actions には触れているけれど、正直雰囲気で運用している」という 3 つの状態にある人です。第 1 章に環境構築、第 2 章と第 3 章に基礎概念と構文の基礎が置かれているので、Git の基本操作と GitHub のリポジトリ操作ができれば、GitHub Actions 自体は未経験でも基礎編から入れます。一方で、実践編以降のクラウド連携の例は AWS を前提にした節で構成されており、他のクラウドを使う人は手順を読み替える必要があります。GitHub 以外の CI サービスを主に使う人には、CI/CD 一般の考え方は流用できても手順の大半が GitHub 固有である点で遠回りです。著者の野村友規氏は、刊行時の版元プロフィールによれば、事業会社で 10 年ほど Web 系システムの開発 / 運用に従事し、2021 年に独立して技術顧問やソフトウェアアーキテクトとして複数社を支援するソフトウェアエンジニアで、代表著書として『実践 Terraform』が挙げられています。

本書を通すと、テスト / 静的解析 / リリース / コンテナデプロイまでを自動化したワークフローを自分で設計して実装し、Dependabot と脆弱性スキャンで依存関係を継続的に守り、OpenID Connect と最小権限のパーミッションで認証情報の扱いを安全側に寄せられるようになります。GitHub でチーム開発をしていてパイプラインの面倒を見る立場になった人、開発基盤や SRE を担当する人、自作のアクションを公開したい人には、投じた時間を日々の開発速度と安心感で回収できる一冊です。CI/CD の前後にあるインフラ自動化や運用の本まで視野を広げたい人は、DevOps の本の選び方 を合わせて参照してください。

言及した記事 (4 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: