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
コンテナの可能性を極めてみた!一度ビルドしたら本番でも使うよ
Search
ディップ株式会社
PRO
July 24, 2025
Technology
54
0
Share
コンテナの可能性を極めてみた!一度ビルドしたら本番でも使うよ
ディップ株式会社
PRO
July 24, 2025
More Decks by ディップ株式会社
See All by ディップ株式会社
技育祭登壇|「AIを使える」は、勘違いだった。 コードが書けてもプロになれなかった僕の1年戦記
dip_tech
PRO
0
98
【dip】企業紹介
dip_tech
PRO
0
130
自律型組織の真実__甘い自走_を捨てて導いた_EMによる戦略的組織変革_Final.pdf
dip_tech
PRO
2
870
チーム開発に向けて|内定者インターン資料
dip_tech
PRO
0
25
AIのポテンシャルを引き出す基盤刷新
dip_tech
PRO
0
48
Agent Skils
dip_tech
PRO
0
310
Databricksについて.pdf
dip_tech
PRO
0
290
なぜ今_私たちはDDDに向き合うのか_佐藤薫.pdf
dip_tech
PRO
0
300
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
260
Other Decks in Technology
See All in Technology
すごいぞManaged Kubernetes
harukasakihara
1
320
推し活エージェント
yuntan_t
1
810
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
360
マルチモーダル非構造データとの闘い
shibuiwilliam
1
180
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
310
Goビルドを理解し、 CI/CDの高速化に挑む
satoshin
0
130
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
110
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
550
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
130
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから
zozotech
PRO
4
2.5k
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
270
ハーネスエンジニアリング×AI適応開発
aictokamiya
3
1.5k
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
A Tale of Four Properties
chriscoyier
163
24k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Test your architecture with Archunit
thirion
1
2.2k
GraphQLとの向き合い方2022年版
quramy
50
14k
Facilitating Awesome Meetings
lara
57
6.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Transcript
コンテナの可搬性を極めてみた! 一度ビルドしたら本番でも使うよ ディップ株式会社 ソリューション開発本部 プラットフォーム部 SRE・AI 2課 藤井 貴昭
1. 自己紹介 2. はじめに 3. そのビルド、本当に大丈夫? (導入前の課題) 4. 私たちが目指したこと (ビルドは1回だけ!)
5. "秘伝のタレ" 大公開! (具体的な実現方法) 6. 得られた3つのメリット (導入後の効果) 7. まとめ (学びのポイント) 目次
藤井 貴昭 ディップ株式会社 ソリューション開発本部 プラットフォーム部 SRE・AI 2課 面接コボット、スポットバイトル など 自社プロダクト
の インフラチ ーム リーダー 設計、構築、運用を担当 AWSとGCPの両方を使っています 1. 自己紹介
今日のテーマ 皆さん、コンテナのビルド、どうしてますか? 「開発環境でビルド、ステージング環境でビルド、本番環境でビルド...」 実は、そのやり方には落とし穴が潜んでいるかもしれません。 今日は、私たちが 面接コボット でその落とし穴を乗り越え、 「一度ビルドしたイメージをそのまま本番まで届ける」 CI/CDパイプラインを構築した話を紹介します。 2.
はじめに
2. はじめに 面接コボット ちょっとだけ紹介
ある日、事件は起きた ステージング環境でのテストは All Green 自信を持って本番リリース! ...のはずが なぜか本番環境で問題が発生...!! 3. そのビルド、本当に大丈夫?
原因は... 障害の調査を進めると、あるライブラリのバージョンがステージング環境と本番環境で異なっていることが 判明しました。 ステージング環境: hoge-library v1.2.0 本番環境: hoge-library v2.0.1 (←
最新版が勝手に...!) 当時、そのライブラリはバージョンを固定できないものでした。 (その後、この改善中にバージョン固定することが出来ました) 根本的な問題 それは環境ごとに コンテナイメージのビルド を繰り返していたことでした。 3. そのビルド、本当に大丈夫?
コンテナのポータビリティを最大限に活かす 私たちは、コンテナ技術の本来の思想である "Build Once, Run Anywhere" (一度ビルドすれば、どこでも 動く)に立ち返ることにしました。 目指したゴール ビルドは一度だけ。
ステージング環境でテストしたイメージと寸分違わぬものを本番環境へ届ける! 4. 私たちが目指したこと
パイプライン全体像 GitタグとGitHubリリースを利用することで、理想のパイプラインを構築しました。 ① ステージング リリース テス ステージン 担当 テス ビル
Pus デプロ タグ作 ② 本番 リリース 本番環 担当 No ビル 既存 取 デプロ リリース おっと、文字が潰れて見れませんね 5. "秘伝のタレ" 大公開!
5. "秘伝のタレ" 大公開!
① ステージング リリース 開発者がリリースしたいバージョンをGitのタグとしてPushします。 # リリースバージョンをタグとして作成 git tag v1.2.0 #
タグをリモートリポジトリにPush git push origin v1.2.0 このPushイベントをトリガーに、ステージング用のGitHub Actionsが起動します。 実行内容: i. Dockerイメージをビルド ii. Gitタグ名 ( v1.2.0 ) を使ってイメージにタグ付け iii. 本番環境のGCP Artifact RegistryにPush iv. ステージング環境へデプロイ 5. "秘伝のタレ" 大公開!
② 本番 リリース ステージングでのテスト完了後、GitHub上でリリースを作成し ます。 これが本番デプロイの唯一のトリガーです。 この「リリースの作成」イベントを検知して、本番用のGitHub Actionsが起動します。 実行内容: i.
コンテナイメージのビルドは行わない! ii. リリース情報からタグ名 ( v1.2.0 ) を特定 iii. 本番環境のGCP Artifact Registryから同名の既存イメージを取 得 iv. 本番環境へデプロイ 6. "秘伝のタレ" 大公開!
① 圧倒的な信頼性 "ステージングで動くものは、本番でも動く" という絶対的な安心感を手に入れました。 環境差に起因する障害はゼロになり、リリース時の不安から解放されました。 ② 本番環境でのリリース時間の高速化 本番環境では、コンテナイメージのビルド時間が不要になり、リリース時間が短縮されました。 (約30分 短縮化)
③ 開発者体験 (DX) の向上 複雑な手順や環境差異の心配から解放され、開発者は本来の価値創造、つまりアプリケーションの機能開発 に集中できるようになりました。 6. 得られた3つのメリット
本日のまとめ (Learning Outcome) 1. "環境ごとのビルド"に潜むリスクを再認識しよう 意図しないライブラリの更新など、予期せぬ差分はいつでも生まれ得ます。 2. "Build Once, Run
Anywhere"は実現できる! コンテナの思想に立ち返り、CI/CDのパイプラインを設計することが重要です。 3. GitタグとGitHubリリースは強力な武器になる この2つを組み合わせることで、安全で再現性の高いCI/CDが構築できます。 7. まとめ
ご清聴ありがとうございました。 なお、スライドは Cursor + Marp(Markdownからスライド作成) で、Gemini-2.5-pro を利用して作成しま した 生成AIが作成してくれた「ちょっと変な表現」は、あえて採用しています レイアウト調整が、しんどかった・・・