#author("2023-02-03T10:03:28+09:00","default:irrp","irrp")
→SRE/DevOps

→アジャイル

→テスト・品質管理

→IaC(Infrastructure as Code)

→[[Git関連]]

→AWSの開発支援系サービス ←AWS Codeシリーズについてはこちらへ

#contents


*概要 [#ue753071]
-CI=継続的インテグレーションとは、プログラマがソースコードを変更したら頻繁にリポジトリに登録し、自動でビルドとテストを行うこと。
--テストコードはあらかじめ作成しておく。
--Jenkins や CircleCI などのCIツールを使って自動化する。

-CD=継続的デリバリーとは、テストをパスしたソフトウェアを自動で実稼働環境にリリースできる状態にすること
--※継続的デプロイとは、そこからさらにデプロイまでやること

-CI/CDパイプラインとは、CI/CDを実践するために必要な一連のステップを自動化したもの
--(CI):コーディング→ビルド→インテグレート→テスト→(CD):リリース→デプロイ→オペレート

-[[CI/CDを超ざっくり解説!【何となく理解するIT】 - YouTube>https://www.youtube.com/watch?v=TrpmtrXIe-w]] 2020


*一般記事 [#z6046fcf]
-[[AWS sam pipelineを使うとLambdaをデプロイするCI/CDパイプラインをどうやって作ればいいか分かりそうになる - Qiita>https://qiita.com/PG-practice/items/efa5b5ff093e0df66ab8]] 2023.2

-[[ML Pipeline CI/CD - GMOインターネットグループ グループ研究開発本部(次世代システム研究室)>https://recruit.gmo.jp/engineer/jisedai/blog/ml-pipeline-ci-cd/]] 2023.1
--GCPで機械学習パイプラインの本格運用

-[[The Twelve-Factor App (日本語訳)>https://12factor.net/ja/]] 2018
--[[Twelve-Factor Appを噛み砕いてみた - Qiita>https://qiita.com/supreme0110/items/17c58c660137e23ef713]] 2018

-[[Retty の Terraform CI/CD 解体新書 - Retty Tech Blog>https://engineer.retty.me/entry/2022/11/18/130000]] 2022.11

-[[Stages of a CI/CD Pipeline - DEV Community>https://dev.to/pavanbelagatti/stages-of-a-cicd-pipeline-2bmp]] 2022.8

-[[読書メーターのデプロイの流れについて - BOOK☆WALKER Tech Blog>https://developers.bookwalker.jp/entry/2022/07/01/161429]] 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で本番環境にデプロイされたことを通知する


-[[ネイティブアプリに対応した CI サービスの料金を比較しました|たかやま>https://blog.zaim.co.jp/n/n63422787985f]] 2022.4
--Bitrise, Codemagic, CircleCI, GitHub Actions

-[[デプロイ今昔 - Hatena Developer Blog>https://developer.hatenastaff.com/entry/2020/06/26/150300]] 2020.6

-[[猿でもわかる CI/CD - YouTube>https://www.youtube.com/watch?v=T-lk2cPGI7s]] 2020.5

-[[Azure環境向けCI/CDパイプラインを自動作成できるDevOps Starterが便利すぎた>https://docs.microsoft.com/ja-jp/azure/devops-project/overview]] 2021.10

-[[Infrastructure as Code(IaC)とは?インフラをコードとして管理でき、コスト削減などのメリットも!>https://udemy.benesse.co.jp/development/system/iac.html]] 2021.4

-[[CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか?>https://codezine.jp/article/detail/11083]] 2018.9

-[[継続的デリバリ vs 継続的デプロイ>http://www.ryuzee.com/contents/blog/4422]] 

-[[Cybozu新人研修資料 CI/CD>https://blog.cybozu.io/entry/2021/07/20/100000#CICD]] 2021.7

-[[AWS (ECS + RDS)+ CircleciによるCI/CDの理解(初学者がインプットすべき情報)~用語と概念理解編~>https://qiita.com/sukezane/items/0325b8057492459c702c]] 2019.8

-[[AWS Lambda CI/CD俺的ベストプラクティス>https://sue445.hatenablog.com/entry/2019/08/11/103713]] 2019.8

-[[Continuous Integration@Martin Fowler:http://martinfowler.com/articles/continuousIntegration.html]]





*GitHub Actions [#e434e081]
→[[Git関連]]

-[[GitHub Actions+AWS SAM で CI/CD を構築してみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n1bf843ca0a78]] 2023.1

-[[GitHub ActionsでAWS ECSを使ったCI/CD環境を構築してみる - APC 技術ブログ>https://techblog.ap-com.co.jp/entry/2022/12/09/161347]] 2022.12

-[[【Unity】GitHub Actions × Game CIでWebGLのCI/CD環境構築(デプロイ先はNetlify) - Qiita>https://qiita.com/OKsaiyowa/items/ac86f1a220652309890e]] 2022.10

-[[Push時はCIのみ、Merge時はCIおよびCDを実行するGitHub Actionsを作る(Workflowの再使用) | DevelopersIO>https://dev.classmethod.jp/articles/create-a-workflow-with-github-actions-that-executes-ci-only-at-the-time-of-push-and-ci-and-cd-when-merging/]] 2022.8

-[[GitHub Actionsって何?触ってみて理解しよう!入門・逆引きリファレンス - Qiita>https://qiita.com/yu-ichiro/items/b50ceb0008edc3c0312e]] 2022.7

-[[Gtihub Actionsでオンプレミス環境のCI/CDを実行する方法 - ISID テックブログ>https://tech.isid.co.jp/entry/2022/07/04/Gtihub_Actions%E3%81%A7%E3%82%AA%E3%83%B3%E3%83%97%E3%83%AC%E3%83%9F%E3%82%B9%E7%92%B0%E5%A2%83%E3%81%AECI/CD%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95]] 2022.7

-[[github actionsのjobを高速にするために取った対策 - Qiita>https://qiita.com/itouoti/items/37e0420b232a1c694288]] 2022.6
--ブランチとの修正差分に影響ある部分だけテストを実行する、というのだけど、影響範囲の見極めは大丈夫なのか?

-[[GitHub ActionsでEC2インスタンスの自動停止をするようにした - Qiita>https://qiita.com/ohakutsu/items/71822981ba8e14cfdd8b]] 2022.6

-[[GitHub Actions 逆引きリファレンス | gkzz.dev>https://gkzz.dev/posts/github-actions-tips/]] 2022.5

-[[GitHub ActionsとCypressを使って、テスト自動化環境をゼロから構築する - Qiita>https://qiita.com/EIKINAKAYAMA/items/e0b9550152c19e229263]] 2022.5

-[[GitHub Actions入門 ── ワークフローの基本的な構造からOICDによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!>https://eh-career.com/engineerhub/entry/2022/05/20/093000]] 2022.5

-[[Push時はCIのみ、Merge時はCIおよびCDを実行するGitHub Actionsを作る(Workflowの再使用) | DevelopersIO>https://dev.classmethod.jp/articles/create-a-workflow-with-github-actions-that-executes-ci-only-at-the-time-of-push-and-ci-and-cd-when-merging/]] 2022.4

-[[GitHub Actionsでsetup-node actionを使って依存関係をキャッシュする | DevelopersIO>https://dev.classmethod.jp/articles/caching-dependencies-in-workflow-execution-on-github-actions/]] 2022.4

-[[GitHub Actions が OpenID Connect をサポートし、デプロイがよりセキュアに出来るようになりました! - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/github-actions-oidc]] 2021.11

-[[GitHubがCI/CDサービスを標準サポートへ>https://jp.techcrunch.com/2019/08/09/2019-08-08-github-actions-is-now-a-ci-cd-service/]] 2019.8


-[[Github Actionsが使えるようになったので使ってみる>https://qiita.com/1915keke/items/8b18097d2981e88eca93]] 2019.8

-[[GitHubの新機能「GitHub Actions」でワークフローを自動化しよう>https://codezine.jp/article/detail/11450]] 2019.4




*GitLab [#w8f342a0]
-[[GitLab で AWS Lambda を自動デプロイしてみる - RAKUS Developers Blog | ラクス エンジニアブログ>https://tech-blog.rakus.co.jp/entry/20230105/gitlabci]] 2023.1

-[[CI/CDのスクリプトを開発/テスト/不具合対応しやすくする方法を考えてみる - Qiita>https://qiita.com/dtsu/items/9d5924caae8eb3487c68]] 2022.12

-[[GitLabCI/CD入門 ~とりあえず動かす - Qiita>https://qiita.com/Jazuma/items/fcf87e5b222314a951fd]] 2022.10
-[[GitLabCI/CDについて - Qiita>https://qiita.com/komekome111/items/98f7e5811080f9041bdd]] 2022.6

-[[OpenID Connect を利用して GitLab CI/CD をセキュアに実施する - aptpod Tech Blog>https://tech.aptpod.co.jp/entry/2022/07/15/110000]] 2022/7

-[[GitLabのCI/CDで超重要なrulesの全てを理解する | DevelopersIO>https://dev.classmethod.jp/articles/sample-to-understand-rules/]] 2021.12

-[[GitLabの運用方法を入門者向けに解説!GitHubとの違いも比較。ダウンロード、日本語化する方法も紹介!| ITフリーランスエンジニア案件ならA-STAR(エースター)>https://agency-star.co.jp/column/gitlab]] 2020

-[[GitLab自社運用のための注意点とノウハウ(2018/06版)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社>https://techracho.bpsinc.jp/morimorihoge/2018_06_04/57628]] 2018

-[[オープンソースのプロジェクト管理/GitLabとは>https://www.ossnews.jp/oss_info/GitLab/1]] 2021.9

-[[GitLab って何?>https://qiita.com/masakura/items/29f8949379fa86dac22c]] 2016


*CircleCI [#zc3a0c7b]
-[[#Unity と #CircleCI を組み合わせてゲーム開発にCI/CDを導入してみた | DevelopersIO>https://dev.classmethod.jp/articles/unity-circleci-demo/]] 2023.1

-[[コードカバレッジを測定してみた - hacomono TECH BLOG>https://techblog.hacomono.jp/entry/2022/12/13/070000]] 2022.12

-[[warning絶許マンがCIで捗る話し - Qiita>https://qiita.com/suzukiplan/items/6aaa46af86bb6de13184]] 2022.10

-[[CircleCiとCodeシリーズの料金比較 - Qiita>https://qiita.com/mk_yjn43/items/a0d430ff0080bd7d1ea1]] 2022.6

-[[CircleCIとAWSをOpenID Connect 認証で連携する - Qiita>https://qiita.com/suzucir/items/5b76ae7d80944d5d3c85]] 2022.4

-[[GitHubのDependabotが作るプルリクエストで動くCI/CDで、デプロイさせたくない | DevelopersIO>https://dev.classmethod.jp/articles/github-dependabot-ci-cd-not-run-deploy-workflow/]] 2022.4

-[[CircleCIが無料枠を大幅拡大。1カ月あたり6000分のビルド時間、ユーザー数無制限、最大30件までのジョブ同時実行など − Publickey>https://www.publickey1.jp/blog/22/circleci1600030.html]] 2022.1

-[[3年の運用で編み出した CircleCI 超設計大全 - Qiita>https://qiita.com/dodonki1223/items/98dbdac6f31f9b486ecf]] 20201.12

-[[CircleCIを使ってコンテナイメージをAWS LambdaへデプロイするCI/CD環境を構築してみた - Qiita>https://qiita.com/y-aka/items/c5c5fd969a6db9aa97fc]] 2021.11


*Cloud Build [#a7afaf89]
-[[GCP CI/CD Pipeline: Build Docker images after commits to a repo branch (Github) - DEV Community 👩‍💻👨‍💻>https://dev.to/af/gcp-cicd-pipeline-build-docker-images-after-commits-to-a-repo-branch-github-3381]] 2022.9
-[[GCP CI/CD Pipeline: Build Docker images after commits to a repo branch (Google Cloud Source Repositories) - DEV Community 👩‍💻👨‍💻>https://dev.to/af/gcp-cicd-pipeline-build-docker-images-after-commits-to-a-repo-branch-google-cloud-source-repositories-500o]] 2022.9
-[[Cloud Build を知ってみよう | フューチャー技術ブログ>https://future-architect.github.io/articles/20210315/]] 2021


*Dagger [#w536f2a7]
-[[好きな言語でCI/CDを実装できる!DaggerのNode.js SDKを試してみた! | DevelopersIO>https://dev.classmethod.jp/articles/dagger_nodejs_sdk_get_started/]] 2022.12

-[[Go言語でポータブルなCI/CDパイプラインが定義可能に。「Dagger」がGo SDKを発表 − Publickey>https://www.publickey1.jp/blog/22/gocicddaggergo_sdk.html]] 2022.10

-[[Daggerを使用してCIパイプラインを作成する - Qiita>https://qiita.com/yuua0216/items/d6d52d4ee52c84c77639]] 2022.6
-[[コンテナベースのCI/CDツール「Dagger」を試してみよう - Qiita>https://qiita.com/takumi3488/items/dd34e9c729acca17a7eb]] 2022.4
-[[Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に − Publickey>https://www.publickey1.jp/blog/22/dockerdaggergithubcircleci.html]] 2022.4



*Jenkins [#s716c21b]
-[[Jenkinsfile + Jenkins Shared LibrariesでCI設定のコピペを撲滅する>https://engineering.linecorp.com/ja/blog/jenkinsfile-jenkins-shared-libraries]] 2023.1
-[[Jenkins と Github を連携させる Webhook と SCMポーリング - Qiita>https://qiita.com/att55/items/e3c9aa008008664392e8]] 2022.3
-[[Jenkins で静的解析のグラフを作るとコードを読まなくてもソフトウェアの品質が分かって面白い>http://shunirr.hatenablog.jp/entry/2013/05/05/180922]] 2013.5.5


* ビルド/インテグレーション支援ツール [#ve1ab99e]
-[[Gradle入門>https://qiita.com/vvakame/items/83366fbfa47562fafbf4]] 2018.6
-[[【Spring】ローカル環境からAWSを使うときのgradleの設定 - Qiita>https://qiita.com/ZZ_E_N/items/49eaf449a747565a2bf0]] 2022.4

-[[1. ガイド — OMakeマニュアル 日本語訳>https://omake-japanese.osdn.jp/index.html]] 2014
-[[OMake つかったらC言語でプログラム書く手間がバカみたいに減った>http://d.hatena.ne.jp/hayamiz/20081203/1228296644]] 2008

-[[MSBuild使いこなし:http://www.atmarkit.co.jp/fdotnet/special/msbuild01/msbuild01_01.html]]
-[[MSBuild徹底理解:http://www.atmarkit.co.jp/fdotnet/special/msbuild02/msbuild02_01.html]]
--ただしMSBUildは.NET 2.0でしか使えない点に注意


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

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS