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
530
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新卒エンジニアがCICDをモダナイズしてみた話
Akashi_SN
April 21, 2025
Other Decks in Technology
See All in Technology
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
ラジオの科学
frievea
0
260
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
190
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.3k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
170
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
5
1.3k
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
940
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
サイバー捜査員研修(前半)
nomizone
1
1.8k
Goでデータパイプラインを作ろう
sansantech
PRO
0
330
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
200
A Modern Web Designer's Workflow
chriscoyier
698
190k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Making Projects Easy
brettharned
120
6.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
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