663 Views
May 11, 24
スライド概要
https://teamhimapro.connpass.com/event/312314/
新技術に興味津々なエンジニア
ひまプロリス ナー流CI/CD のススメ CI/CD入門
自己紹介 HN: kobayashi yabako(@yabakobayashi) ■ ■ ■ ■ 動画配信事業を行っている企業のWebエンジニア Go/TypeScript/Android Java GCP/オンプレ やらかしに定評があります
アダルティなエンジニアは CI/CDが組める 引用 : #232 聞くだけCircleCI入門
CI/CDとは Continuous Integration (CI) と Continuous Deployment (CD) の略称 CI CD コードの変更を定期的に自動的にビルド・ テスト ビルドが通ったコードを自動的に本番環 境にデプロイ ● マージやプッシュ時にテストスイー トを実行し、コードの品質を保証 ● 頻繁なリリースを可能にし、 開発プロセスの迅速化と安 定化を図る
CI/CDがない場合 例: AWSのECSにデプロイする mainブランチにマージ mainブランチでBuild→テ スト実行 Dockerイメージの Build→ECRへpush タスク定義の作成 サービスの更新 状態確認
毎回やってらんないよね
全部自動化できます そうCI/CDならね
各CIサービス Github Actions TravisCI CircleCI GitLab CI/CD AWS CodePipeline Jenkins Azure Pipelines Google CloudDeploy
各CIサービス 開発プラットフォーム Github Actions CIプラットフォーム TravisCI CircleCI GitLab CI/CD AWS CodePipeline Jenkins CIソフトウェア Azure Pipelines クラウドPFサービス Google CloudDeploy
各CIサービス これがオススメ 開発プラットフォーム Github Actions CIプラットフォーム TravisCI CircleCI GitLab CI/CD AWS CodePipeline Jenkins CIソフトウェア Azure Pipelines クラウドPFサービス Google CloudDeploy
Github Actions Githubにリポジトリが あれば使える 無料枠がある ローカルでデバッグで きる 他CIサービスはGithub以外 から使うのに設定が必要 Freeアカウントなら月 2000 分まで無料 actというローカルでコミット / プッシュせず動作デバッグ できる 特にJenkinsはSelfHostingす る必要がある なお上記は非公式だが CircleCIは公式にローカル ツールを提供している
なぜCI/CDパイプラインが 構築できる(する)のが中級者なのか?
CI/CDを入れる動機 ■ ■ ■ ■ レビュー効率を上げたい コード品質の向上 フィードバックの短縮 アジャイル開発の実践 ミドルエンジニア以上の視点
CI/CDに必要なスキル ● ● ● ● ● 言語知識 ○ Java、Ruby、PHP、Python、Go ビルドツール ○ 例: Docker、Kubernetes、Terraform、AWS テストフレームワーク ○ 例: JUnit、pytest、testify、Vitest、Playwright、Coverageレポート インフラ知識 ○ デプロイ先の知識や IaCの知識が必要 ■ 例: Docker、Kubernetes、AWS、Terraform 監視と通知 ○ デプロイして終了でなく、正常にデプロイできているか、リリース戦略 (カナリア、 Blue/Green)などを考慮する必要がある
必要なスキル多くない?
CI/CDを組みながら成長できる(と考える)
活用例 PR毎にStoryBook
まとめ ● ● ● ● CI/CDを作ると成長できる! CI/CDを作るとチームに感謝される! CI/CDを作るとプロダクトの品質が高くなる! CI/CDを作るとCI/CDがないプロダクトが許せなくなる!
ご清聴ありがとうございました