開発プロセス

テスト・品質管理

IaC(Infrastructure as Code)

→GitLabに関しては→Git関連

概要

  • CI=継続的インテグレーションとは、プログラマがソースコードを変更したら頻繁にリポジトリに登録し、自動でビルドとテストを行うこと。
    • テストコードはあらかじめ作成しておく。
    • Jenkins や CircleCI などのCIツールを使って自動化する。
  • CD=継続的デリバリーとは、テストをパスしたソフトウェアを自動で実稼働環境にリリースできる状態にすること
    • ※継続的デプロイとは、そこからさらにデプロイまでやること
  • CI/CDパイプラインとは、CI/CDを実践するために必要な一連のステップを自動化したもの
    • (CI):コーディング→ビルド→インテグレート→テスト→(CD):リリース→デプロイ→オペレート

一般記事

  • 読書メーターのデプロイの流れについて - BOOK☆WALKER Tech Blog 2022.6
       Pull Requestをmasterブランチにmerge
       GitHub Actionsで「リリース準備」アクションを実行するとGitHubのレポジトリにtag pushされる
       tag pushにhookし、CircleCIがイメージを作成してAmazonECRにpushする
       CircleCIがescpressoを利用して開発環境のECS(Fargate)にデプロイする
       CircleCIがSlackで開発環境にデプロイされたことを通知する
       開発環境で動作確認し、問題なければCircleCI上で本番環境へのデプロイ承認ボタン*1を押す
       CircleCIがescpressoを利用して本番環境のECS(Fargate)にデプロイする
       CircleCIがSlackで本番環境にデプロイされたことを通知する

Dagger

GitHub Actions

Git関連

GitLab CI/CD

AWS Code

  • CodeDeploy,CodeCommit,CodePipeline,CodeBuild などによるCI/CD

AWS CodeDeploy

CircleCI

Cloud Build

CI/CDに使うツール

カテゴリ役割ツール例
リポジトリ/バージョン管理ツールソースコードのバージョンや成果物を管理Git/GitHub
CIツールコードに変更があると、ビルドやテストを実行するため各種ツールにコードを連携Jenkins/Travis CI/CircleCI/GitLabCICD
構成管理ツールインフラ基盤の構築を自動化したり、構築手順を管理Ansible/Chef/Puppet
ビルドツールビルドに必要な処理を自動実行Gradle/Ant/Maven
テストデータ準備ツールテストに必要なデータを準備DELPHIX
テストツール操作テストや負荷テストを実施して、サプリケーションの品質をチェックUFT One/LoadRunner Professional/sonarQude

Jenkins

ビルド/インテグレーション支援ツール


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-11-18 (金) 22:43:08 (8d)