Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新卒エンジニアがCICDをモダナイズしてみた話
Search
Akashi_SN
April 21, 2025
Technology
2
380
新卒エンジニアがCICDをモダナイズしてみた話
Akashi_SN
April 21, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
830
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
280
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
210
S3アクセス制御の設計ポイント
tommy0124
3
200
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
440
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
480
Agile PBL at New Grads Trainings
kawaguti
PRO
1
420
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Designing for Performance
lara
610
69k
Practical Orchestrator
shlominoach
190
11k
Typedesign – Prime Four
hannesfritz
42
2.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Optimizing for Happiness
mojombo
379
70k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Navigating Team Friction
lara
189
15k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Transcript
新卒エンジニアがCICDを モダナイズしてみた話 JAWS-UG東京 ランチタイムLT会 #22 2025/04/22 KDDI 西 総一朗
自己紹介 ◼ 2024/04 KDDI株式会社 新卒入社 ◼ 2024/09 現部署配属 • CICDのモダン化
• Terraformバージョンアップ ◼ 2025/04 2年目…! 経歴 ◼ フロント系(AWS)システムのインフラ開発・運用 ◼ 内製開発チーム 業務内容 氏名 所属 趣味 西 総一朗 KDDI株式会社 自宅サーバ 2
趣味 - 自宅サーバ サーバ君たち (左・右下: ワーカノード、 中央:ストレージ) ルータ(IX2215)は固定IP用と MAP-E用で2台体制 ストレージと各ノードは10Gで接続
(冷房つけてても30度になってる…) メインPCと作業机 (フルタワーケースなのでめちゃでかい) ※ストレージについては実家(大阪)にも設置してて毎時同期をしている 3
既存のCICD環境(Jenkins)の問題 ◼属人化問題 Jenkinsおじさん Jenkinsの設定をした人に属人化してしまうことから呼ばれている ➢設定をGUIで行えてしまうことも原因 ◼塩漬け問題 共通化しようとして複雑怪奇に
実際にどのようにJobが実行されているかを追いかけるのも大変 ➢その結果ビルドツール・OS等が塩漬けとなってセキュリティ問題になりかねない 本来のJenkins おじさん 処理の中身追いかける事のお手伝いする事は残念ながら工数がないです。 中身に詳しい人もいないです。 前任者 4
脱Jenkinsに向けて… (1/2) ◼CICDシステムが巨大すぎる… ➢スモールスタートとしてIaC (Terraform)のGHEリポジトリを対象に ◼アーキテクチャどうしよう? ➢GitHub ActionsとAWS CodeBuildの組み合わせを活用 AWS
CodeBuild がマネージド型の GitHub Action ランナーのサポートを開始 5
脱Jenkinsに向けて… (2/2) ◼商用作業ルールにどうやって適合させる? 商用作業前には作業申請が必要 ➢CIとCDを分離する ➢読み取り専用(Plan)と変更可能(Apply)の2台編成 特権申請を行わないと変更ができない ➢特権ロールと通常ロールとを使い分けることで実現
➢特権申請済みのアカウントで手動で 通常ロールに付与されたポリシーを削除する運用 (通常ロールには特権ロールへスイッチできないポリシーが付与されている) 6
新CICDシステム構成 ◼開発・ステージング・商用環境ごとにCodeBuildを配置 7
JenkinsとGitHub Actionsでの開発工程の違い ◼Jenkins時代 商用環境でPlanを実行するのにも商用作業扱い 作業当日まで商用環境での差分が不明 資材格納ジョブ ->
Planジョブ -> Applyジョブ -> Planジョブの工程を踏む Plan/Applyでは1回で1環境面しか回せないため時間がかかる(現在は商用含め15面!?ある) ◼GitHub Actions時代 商用環境でもPlanはいつでも回せる 特権申請をバイパスして変更することはできない 商用作業時はApply前に差分チェックや承認フェーズを挟むことができる 複数面の一括実行も可能に 8
まとめ ◼自前で運用するのではなく、なるべくマネージドなサービスを使用しよう 運用コストの削減やセキュリティ面でもメリットがある ◼システムは全てコードで管理し、なるべくシンプルな構成にしよう 属人化を防ぐことが期待できる ◼配属されて1カ月で前任者が離任したが、半期でCICDモダン化を完遂できた! • 技術的な知識はあっても大企業特有の仕組み(商用作業・各申請等)の理解に苦労した
• 趣味の自宅サーバ運用で使用していたGitHub Actionsの知識を生かせた • 新しい技術などに興味を持ち続け、新技術で改善していくことは楽しい! 9