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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ディップ株式会社
PRO
July 24, 2025
Technology
63
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナの可能性を極めてみた!一度ビルドしたら本番でも使うよ
ディップ株式会社
PRO
July 24, 2025
More Decks by ディップ株式会社
See All by ディップ株式会社
はじめての環境構築!デプロイ〜Docker基礎を学べるワークショップ!
dip_tech
PRO
0
36
【TSKaigi2026登壇資料】決定論的な型チェックへ Go 製コンパイラによる10倍速の裏側で stableTypeOrdering から見える並列化への挑戦
dip_tech
PRO
2
380
【TSKaigi2026登壇資料】バイトル」のTypeScriptリニューアル — 積み上がったレガシーとパフォーマンスに挑む現在地
dip_tech
PRO
1
350
【新卒研修】ライブデモ + compose.yaml読解_講義資料
dip_tech
PRO
0
240
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
380
【ディップ|26年新卒研修資料】Docker_ハンズオン研修
dip_tech
PRO
0
350
【ディップ|26年新卒研修資料】TDD実装演習
dip_tech
PRO
0
400
ハッカソンや個人開発で何作る? テーマ発見〜アイデア発想ハンズオン! 技育CAMPアカデミア
dip_tech
PRO
0
87
技育祭登壇|「AIを使える」は、勘違いだった。 コードが書けてもプロになれなかった僕の1年戦記
dip_tech
PRO
0
140
Other Decks in Technology
See All in Technology
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
500
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
自律型AIエージェントは何を破壊するのか
kojira
0
130
React、まだ楽しくて草
uhyo
7
4.2k
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.1k
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
1
440
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
2
1.6k
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
210
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.4k
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
19
11k
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
280
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
8.7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Building AI with AI
inesmontani
PRO
1
1.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
RailsConf 2023
tenderlove
30
1.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Fireside Chat
paigeccino
42
3.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
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が作成してくれた「ちょっと変な表現」は、あえて採用しています レイアウト調整が、しんどかった・・・