CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) [単行本]
    • CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) [単行...

    • ¥3,27899 ゴールドポイント(3%還元)
    • 在庫あり2025年1月24日金曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009003318878

CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) [単行本]

価格:¥3,278(税込)
ゴールドポイント:99 ゴールドポイント(3%還元)(¥99相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2025年1月24日金曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2020/09/14
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) の 商品概要

  • 要旨(「BOOK」データベースより)

    高速、安全、スケーラブル手軽に導入でき大規模開発にも使える。ビルド/テスト/デプロイ自動化の設定例や活用法を徹底収録。
  • 目次

    ・見出し記号の意味は以下の通りです
    # 節
    ## 項
    ### 目
    #### [Column]コラム

    ----------------------------------------

    はじめに
    謝辞
    本書の読み方
    目次

    第1章:なぜCI/CDが必要か
    # 1.1 アジャイルとDevOps
    ## アジャイルとは?
    ## DevOpsとは?
    ## DevOpsの導入効果
    ## CI/CDとの関係
    ### 自動化の必要性
    ### 誰がCI/CD環境を用意するか
    ### CI/CD導入後の運用チームの役割
    # 1.2 自動化で品質と開発速度をアップ
    ## CI/CDで自動化できること
    ### ビルド
    ### テスト
    ### デプロイ
    ### その他さまざまなタスク
    ## 自動化することで得られる効果
    ### テストし忘れの防止
    ### テストに対する信頼性の向上
    ### 積極的な機能リリース
    ### 品質と開発速度の向上
    ## DevOpsの効果を測る4つの指標
    ### (a)リードタイム
    ### (b)デプロイ頻度
    ### (c)平均修復時間(MTTR)
    ### (d)失敗の頻度
    ### 品質と速度の両立性
    # 1.3 CI/CDツールの選び方
    ## オンプレミス vs. SaaS
    ### オンプレミス型のメリット/デメリット
    ### SaaS型のメリット/デメリット
    ### どちらを選べばよいか?
    ## 代表的なツール/サービスの紹介
    ### CircleCI
    ### Travis CI
    ### Jenkins
    ### AWS CodeBuild
    ### GitHub Actions
    ## CircleCIの特徴
    ###Dockerのサポート
    ### 多様なプログラミング言語に対応
    ### ワークフロー(パイプライン)
    ### リソースクラス
    ### 従量課金プラン
    #### [Column]Dockerについて
    第2章: CircleCIの基本
    # 2.1 CircleCIの動作フロー
    ## ジョブの開始から完了まで
    ## ジョブが失敗した場合
    # 2.2 CircleCIの基本
    ## ビルド──アプリケーションの構築
    ## 設定ファイル──コード化された設定
    ## プロジェクト──コードホスティングサービスにおけるリポジトリ
    ## ステップ──ジョブの設定の最小単位
    #### [Column]コンビニエンスイメージ
    ### runステップ
    ### ビルトインステップ
    ## ジョブ──ステップのグループ化
    ## Executor──ジョブの実行環境
    ### Docker Executor
    ### Machine Executor
    ### macOS Executor
    ### Windows Executor
    #### [Column]Docker in Docker問題
    ## ワークフロー──ジョブ実行順序の制御
    ## ワークスペース/キャッシュ/アーティファクト──データの永続化
    ### ワークスペース
    ### キャッシュ
    ### アーティファクト
    ## パイプライン──ワークフローのグループ化
    ### パイプラインとは何か
    ### パイプラインの活用
    ## Orbs──ジョブ設定の再利用
    ### Orbsのしくみ
    ### Orb Registry
    ## 料金体系──従量課金とOSSプラン
    ### 従量課金プラン
    ### クレジット
    ### 有料オプション
    ### シート料金
    ### アクティブユーザー
    ### 注意点
    ### OSSプラン
    # 2.3 YAMLの基本
    #### [Column]サポート体制
    ## リスト
    ## マップ
    ## スカラ
    ## 複数行の記述
    ## アンカーとエイリアス
    第3章:環境構築
    # 3.1 GitHubとの連携
    ## GitHubアカウントの連携
    ## プロジェクトの追加
    ### 個人リポジトリの場合
    ### GitHub Organizationのリポジトリの場合
    ## プライベートリポジトリを追加した場合のアクセス権
    ### 個人リポジトリの場合
    ### GitHub Organizationのリポジトリの場合
    # 3.2 CircleCIの実行環境
    ## クラウド環境での実行
    ## ローカル環境での実行
    # 3.3 ローカル環境での初めてのジョブ実行
    ## CircleCI CLIのインストール
    ## config.ymlの作成
    ## config.ymlのバリデーション
    ## ジョブの実行
    # 3.4 クラウド環境での初めてのジョブ実行
    ## config.ymlの自動追加
    ## config.ymlの手動追加
    # 3.5 プロジェクト追加後の通常のジョブ実行
    ## 失敗したジョブの修正
    ## 実行のスキップ
    ## 再実行
    ## キャンセル
    # 3.6 SSHによる失敗したテストのデバッグ
    ## SSHデバッグでできること
    ## SSHデバッグの実行
    ### 開始
    ### 終了
    # 3.7 サンプルコードでCI環境構築を実践
    ## 実装とテストコード
    ## config.ymlの作成とローカル環境実行
    ## CircleCIでジョブ実行
    ## SSHデバッグによるテスト失敗の原因調査
    ### CircieCIで失敗するコードの追加
    ### SSHデバッグでテストの成功確認
    ### config.ymlを修正してテストの成功確認
    第4章:ワークフローでジョブを組み合わせる
    # 4.1 ワークフローとは
    ## ワークフローでできること
    ## ジョブのオーケストレーションの種類
    ### シーケンシャルジョブ
    ### ファンアウト/ファンイン
    # 4.2 ワークフローの基本的な使い方
    ## ワークフローに対応するconfig.yml
    ## ワークフローの実行
    ### ワークフローのステータス
    ### 失敗したワークフローの再実行
    # 4.3 ジョブの分割
    ## ジョブを分割するメリット
    ## 再利用可能なコンフィグを使ってジョブを分割
    ### executorsキー
    ### commandsキー
    ### 再利用可能なコンフィグのパラメータ
    # 4.4 複数ジョブの同時実行
    ## 同時実行するメリット
    ## requiresキーでジョブ間の依存関係を制御
    # 4.5 ワークスペースによるジョブ間のファイル共有
    ## ワークスペースの利用方法
    ### persist_to_workspace
    ### attach_workspace
    ### 利用できないジョブ
    ## ワークスペースのライフサイクル
    ## キャッシュとの違い
    ## 証明書エラーへの対応
    # 4.6 そのほかのワークフロー
    ## フィルタリング
    ### フィルタリングのしくみ
    ### タグによるフィルタリング
    ### ブランチによるフィルタリング
    ## スケジュール
    ### スケジュール実行のしくみ
    ### cronキー利用時の注意点
    ## 承認ジョブ
    ### ワークフローをコントロール
    ### 具体的な設定例
    第5章:実践的な活用方法
    # 5.1 プロジェクト設定によるジョブの実行タイミングの調整
    ## フォークされたリポジトリのビルド
    ## プルリクエストのみのビルド
    ## 自動キャンセルによる最新のコミットのみのビルド
    # 5.2 GitHubのブランチプロテクションによるマージのブロック
    ## ブランチプロテクションでできること
    ## CIステータスによるマージのブロック
    # 5.3 CircleCI Checksによる詳細なCIステータスの取得
    ## CircleCI Checksでできること
    ## CircleCI Checksの導入
    ### 有効化
    ### 無効化
    ### ブランチプロテクションの詳細設定
    # 5.4 環境変数を利用する理由
    ## パスワードやAPIキーなどの秘匿情報の保護
    ## アプリケーション設定とコードの分離
    # 5.5 ビルトイン環境変数
    ## ビルトイン環境変数を利用する理由
    ## 主なビルトイン環境変数一覧
    ## ビルトイン環境変数の利用
    # 5.6 ユーザー定義の環境変数
    ## ユーザー定義の環境変数を利用する理由
    ## インライン環境変数の利用
    ### ステップ
    ### ジョブ
    ### イメージ
    ## プロジェクト設定の利用
    ## コンテキストの利用
    ### コンテキストの設定
    ### コンテキスト環境変数の利用
    ## 複数行の環境変数を利用する方法
    ## セキュリティ
    ### 環境変数の出力
    ### SSH接続による環境変数の出力
    #### [Column]コマンドのパス(PATH)を通すには?
    # 5.7 通知の活用
    ## 通知の設定
    ### Slackへの通知(Webhook URLの取得)
    ### Slackへの通知(Slack Orb)
    ### Slack通知の調整
    ### GitHubへのコメント
    ## ステータスバッジ
    ### テンプレートコード
    ### プライベートリポジトリの場合
    # 5.8 SSHキーの活用
    ## SSHキー登録のしくみ
    ## ユーザーキーとデプロイキー
    ## ベストプラクティス
    ## デプロイキーの使い方
    ### 追加
    ### 利用
    ## 同一ホストの複数デプロイキー
    ### add_ssh_keysの複数回実行
    ### 環境変数の利用
    ## ユーザーキーの使い方
    ### 追加
    ### 利用
    第6章:テストの基本と最適化
    # 6.1 基本的なテストの実行方法
    ## 最小構成のテスト
    ### 設定
    ### 解説
    ## データベースを使ったテスト
    ### 設定
    ### 解説
    ## ブラウザを使ったテスト
    ### 設定
    ### 解説
    ## CircleCIでテストを実行する際の注意点
    ### 並列実行数
    ### メモリ量
    # 6.2 CI実行速度の改善
    ## CIを改善するタイミング
    ## 実行時間の改善方法
    ### 複数ジョブの同時実行
    ### キャッシュ
    ### ジョブ内の並列実行
    ### リソースクラスの変更
    ## 改善方法の決定方針
    # 6.3 キャッシュの活用
    ## キャッシュの種類と特徴
    ### ファイルキャッシュ
    ### Dockerイメージキャッシュ
    ## ファイルキャッシュの活用方法
    ### 依存パッケージのキャッシュ
    ### キャッシュのクリア
    #### [Column]キャッシュを削除できない理由──不変性とべき等性
    ### 部分キャッシュリストア
    ### 適切なキャッシュキーの設計
    ## Dockerイメージキャッシュの活用方法
    ### Dockerイメージとレイヤ構造
    ### DLCのしくみ
    ### DLCの利用
    # 6.4 最適化済みDockerイメージの活用
    ## CI用のDockerイメージを用意するメリット
    ## イメージの取得
    ### Docker Hubからの取得
    ### ECRからの取得
    # 6.5 テストサマリーでテスト結果をわかりやすく表示する
    ## テストサマリーを利用する目的
    ## エラーレポートの確認
    ## テストサマリーの利用方法
    ### サポートされているレポートフォーマット
    ### さまざまなツールによるレポートファイル出力
    ### レポートファイルの保存
    # 6.6 ジョブ内並列実行の活用
    ## 並列実行のしくみ
    ### テスト分割コマンドの使い方
    ### タイミングデータを利用したテストの分割
    ## 並列実行の利用方法
    # 6.7 リソースクラスを活用し、ジョブ実行環境の性能を変更
    ## リソースクラスとは?
    ## リソースクラスの利用方法
    ### 種類と選択方針
    ### resource_classキーの利用
    第7章:継続的デプロイの実践
    # 7.1 継続的デプロイ
    ## 継続的デリバリとの違い
    ## 広義の継続的デリバリ
    # 7.2 なぜ継続的デプロイを行うのか
    ## 本番環境によるテスト
    ### テスト環境でのQAの限界
    ### 実際の失敗事例
    ### 何が問題なのか?
    ### 本番環境でのテスト
    ## フィードバックループの構築
    ### フィードバックループとは何か?
    ### フィードバックループの重要性
    ### 継続的デプロイとフィードバックループの関係
    # 7.3 継続的デプロイの難しさ
    ## 組織的な理由
    ## ビジネス的な理由
    # 7.4 継続的デプロイの導入を助ける手法
    ## 承認ジョブによる承認フローへの対応
    ### 承認ジョブの設定例
    ### 承認ジョブの注意点
    ## フィーチャーフラグによる段階的リリース
    ### フィーチャーフラグの使用例
    #### [Column]デプロイとリリースは同じ?
    ### フィーチャーフラグの導入方法
    ## 新規プロジェクトからの導入
    ### リリースの前倒し
    ### アジャイル的な思考の普及
    # 7.5 Orbsを使った継続的デプロイの実践例
    ## Orbsの探し方
    ### 認定済み、パートナー、サードパーティーOrbs
    ### Orbsのバージョン
    ## 必要なもの
    ### アカウント
    ### Docker
    ### サンプルコード
    ### CircleCIプロジェクト
    ## 全体の流れ
    ## ECRへのデプロイ
    ### IAMユーザーの権限
    ### CloudFormationでECRの作成
    ### CircleCIで環境変数の設定
    ### .circleci/config.yml
    ### ECR Orbのインポート
    ### aws-ecr/build-and-push-imageジョブ
    ## ECSへのデプロイ
    ### CloudFormationでECSの作成
    ### .circleci/config.yml
    ### ECS Orbのインポート
    ### aws-ecs/deploy-service-updateジョブ
    # 7.6 継続的デプロイを使った開発の流れ
    ## デプロイ
    ## 本番環境でテスト
    ### 本番環境の監視
    ### 本番環境に対するE2Eテスト
    ## ロールバック
    ## その他の継続的デプロイ手法
    ### カナリアリリース
    ### ブルー/グリーンデプロイ
    ### ローリングデプロイ
    第8章: Webアプリケーション開発、インフラでの活用
    # 8.1 TypeScript
    ## .circleci/config.yml
    ## ビルド
    ## テスト
    ### マトリックスビルド
    ### JavaScriptへのコンパイル
    ### テスト結果とカバレッジレポートの作成
    ### テスト結果とカバレッジレポートの表示
    # 8.2 Ruby (Ruby on Rails)
    ## .circleci/config.yml
    ## ビルド
    ## テスト
    ### データベースを用いたテスト
    ### テストを分割して複数コンテナで実行
    ### カバレッジのマージ──アプリケーション側の設定
    ### カバレッジのマージ──config.yml側の設定
    # 8.3 PHP(Laravel)
    ## .circleci/config.yml
    ## ソースコードのチェックアウト
    ## ビルド
    ## テスト
    ### Base64を使ってファイルを環境変数として挿入
    ### テストの実行
    # 8.4 Java(Spring Boot)
    ## .circleci/config.yml
    ## OOM問題対策
    ### Exit Code 137に注意
    ### ヒープサイズに関する環境変数
    ### ヒープサイズに関する環境変数の優先度
    ## 環境変数
    ## ビルド
    ### Gradleバイナリのキャッシュ
    ### 依存関係のキャッシュ
  • 内容紹介

    CI/CD(継続的インテグレーション、継続的デプロイ)を導入すると、ビルド/テスト/デプロイなどアプリケーションのリリースに至るまでの多くの作業を自動化できます。開発が効率化するだけでなく、テストを確実に行うことなどにより品質の向上にもつながります。本書は、多くのアプリケーション開発で活用されているCI/CDサービス「CircleCI」を使って、CI/CDを実現できるようになるための書籍です。基本から始め、実際の開発に応用できるよう設定例やTipsをふんだんに掲載しています。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    浦井 誠人(ウライ マサト)
    大学卒業後、フィリピンにてフロントエンド/バックエンド担当のエンジニアとして働いている。WEB+DB PRESS Vol.107にて特集『実践CircleCI』を執筆

    大竹 智也(オオタケ トモヤ)
    1983年生まれ。起業家、およびWebエンジニア。2010年にオンライン英会話「ラングリッチ」を起業し、2015年に「EnglishCentral」へ売却。2017年にエンジニア向け教育サービスを主軸とするフォーコード株式会社を設立

    金 洋国(キム ヒロクニ)
    CircleCIの初期からサポートやプロダクト開発に携わり、2018年にCircleCI Japanを立ち上げた。現在はSREチームで活躍中。エンジニアの仕事のかたわら電動キックボードのビジネスを起業し、現在はSWALLOW合同会社の代表としてさまざまな電動モビリティの普及活動も行う
  • 著者について

    浦井 誠人、大竹 智也 (ウライ マサト オオタケ トモヤ)
    浦井 誠人大学卒業後、フィリピンにてフロントエンド/バックエンド担当のエンジニアとして働いている。WEB+DB PRESS Vol.107にて特集『実践CircleCI』を執筆。GitHub: urawayTwitter: @uraway_大竹 智也1983年生まれ。起業家、およびWebエンジニア。2010年にオンライン英会話「ラングリッチ」を起業し、2015年に「EnglishCentral」へ売却。2017年にエンジニア向け教育サービスを主軸とするフォーコード株式会社を設立。著書に『[改訂新版]Emacs実践入門』と『Atom実践入門』(共に技術評論社)がある。GitHub: tomoyaTwitter: @tomoyaton

    金 洋国 (キム ヒロクニ)
    金 洋国CircleCIの初期からサポートやプロダクト開発に携わり、2018年にCircleCI Japanを立ち上げた。現在はSREチームで活躍中。エンジニアの仕事のかたわら電動キックボードのビジネスを起業し、現在はSWALLOW合同会社の代表としてさまざまな電動モビリティの普及活動も行う。GitHub: kimhTwitter: @kimhirokuni

CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) の商品スペック

商品仕様
出版社名:技術評論社
著者名:浦井 誠人(著)/大竹 智也(著)/金 洋国(著)
発行年月日:2020/09/26
ISBN-10:4297114119
ISBN-13:9784297114114
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:391ページ
縦:21cm
他の技術評論社の書籍を探す

    技術評論社 CircleCI実践入門―CI/CDがもたらす開発速度と品質の両立(WEB+DB PRESS plusシリーズ) [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!