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
カスタムDockerイメージの作成
Search
Masahiko Funaki(舟木 将彦)
October 29, 2020
Technology
13
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カスタムDockerイメージの作成
Masahiko Funaki(舟木 将彦)
October 29, 2020
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
202605-進化し続けるUIに追従.pdf
mfunaki
0
22
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
46
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
58
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
85
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
150
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
68
イントラネットの社内アプリからローカル開発環境まで〜mabl Linkで実現する閉域網アプリケーションのセキュアなテスト実行
mfunaki
0
47
フルスタックQAへの第一歩。Web UIとAPIテストを統合した品質保証戦略
mfunaki
0
110
mabl新機能解説:プロンプトによるテスト生成とローカル/クラウド実行のシームレスな統合
mfunaki
0
110
Other Decks in Technology
See All in Technology
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
610
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
120
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
210
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
190
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1.1k
【2026年版】 ベクトル検索䛸 Embedding最前線
mocobeta
0
140
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
190
フィジカル版Github Onshapeの紹介
shiba_8ro
0
250
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
250
自宅LLMの話
jacopen
1
580
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Utilizing Notion as your number one productivity tool
mfonobong
4
320
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Crafting Experiences
bethany
1
180
From π to Pie charts
rasagy
0
210
Mind Mapping
helmedeiros
PRO
1
250
Become a Pro
speakerdeck
PRO
31
6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
1 カスタム Dockerイメージの作成 CircleCIを学ぼうシリーズ 第1弾 舟木 将彦(Masahiko Funaki) Developer Advocate まもなく開始いたします。そのままお待ちください。
プレゼンター 舟木 将彦 @mfunaki , @CircleCIJapan CircleCI Developer Advocate 開発者をインスパイヤする
お仕事(推し事)です 2 mfunaki /in/mfunaki
3 アジェンダ Dockerコンテナで何が嬉しいのか コンテナの基本 1 2 開発用コンテナの構築 チーム内で開発環境を共通化 3 開発用コンテナ上での開発
アプリ開発、およびテスト 4 CircleCIによる自動化 テスト~デプロイ用コンテナ作成 5 Q&A 時間がない場合はブログにて回答
4 この Webinar を受講すると Dockerコンテナ上で開発をするための環境構築・作業の進め方・ビルド~デプロイについて理解できる。 1. (Node.js + express)環境構築のCircleCIによる自動化 2.
Dockerコンテナ上で開発・テストを進める方法 3. アプリ・サービスのDockerイメージ構築のCircleCIによる自動化 リポジトリ 本日使用しているリポジトリは、 - https://github.com/mfunaki/CCI-Img-Node - https://github.com/mfunaki/CCI-App-Node - https://github.com/mfunaki/CCI-App-Node_Work (作業用)の3つです おことわり 個々の操作を行う上で前提としているライブラリやコマンド、プラグインなののインストールや設定について触れておりません(gitコマ ンドのインストールなど)。別途、ブログにて環境構築も含めた説明を公開する予定です。http://circleci.com/ja/blog/
5 Dockerコンテナで 何が嬉しいのか
6 コンテナとは何か? 一つ一つの荷物を運ばなくても、 箱単位で運ぶことができる (一人じゃなくてチームで ) 箱の大きさが揃っている (船や列車、トンネルの大きさも コンテナの大きさが基準になる )
輸送効率がアップする
7 コンテナを使った開発とは何か? 一つ一つの成果物を合わせこまなくても 、 最初からチームで同じ場所で作業できる (一人じゃなくてチームで ) コンテナ内の環境が揃っている (同じコンテナを使っていれば、どの PC/
Mac/Linuxで動作していても同じことが できる) 開発・ビルド・テスト・デプロイ効率 がアップす る
8 開発用コンテナの構築
9 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成
5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
10 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成
5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
11 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成
5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
12 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成
5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
13 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile作成 4. コンテナ構築用config.yml作成
5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
14 コンテナ作成の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone 3. Dockerfile(定義ファイル)の作成 (express, jest,
supertest組込)+ npm initでpackage.jsonの作成+ .dockerignoreの作成 4. コンテナ構築用config.yml作成 5. GitHub上のリポジトリ更新 6. CircleCIプロジェクト登録 (環境変数登録) →コンテナ作成 →Docker Hubへプッシュ
15 開発用コンテナ上での Webアプリ開発
16 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
17 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
18 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新 8.
19 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新 8.
20 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
21 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から) 7. GitHub上のリポジトリをコンテナ内から 更新
22 開発の流れ 1. GitHub上でリポジトリ作成 2. ローカルPC上にclone →VSCodeで開く 3. 先ほどのイメージを使用する Dockerfile作成
4. VSCodeを使い、フォルダを コンテナで開きなおす 5. Node.js(Express)のコード作成 6. 動作確認(コンテナ内から+コンテナ外 から) 7. GitHub上のリポジトリをコンテナ内から 更新
23 テストの流れ 1. テスト用コード作成 2. テスト実行 3. GitHub上のリポジトリを コンテナ内から更新
24 テストの流れ 1. テスト用コード作成 2. テスト実行 3. GitHub上のリポジトリを コンテナ内から更新
25 テストの流れ 1. テスト用コード作成 2. テスト実行 3. GitHub上のリポジトリを コンテナ内から更新
26 CircleCIによる自動化
27 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成
→コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
28 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成
→コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
29 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成
→コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
30 CircleCIによるCI/CD 1. VSCode上でコンテナから抜ける (ローカルのアプリディレクトリを 開く) 2. Dockerfile修正 3. コンテナ構築用config.yml作成
→コンテナ作成 →Docker Hubへプッシュ 4. GitHub上のリポジトリ更新 5. CircleCIプロジェクト登録 (環境変数登録) →CircleCI起動
31 まとめ
32 この Webinar を受講し終わって Dockerコンテナ上で開発をするための 環境構築・作業の進め方・ビルド~デプロイについてご理解いただけたでしょうか? 1. (Node.js + express)環境構築のCircleCIによる自動化
2. Dockerコンテナ上で開発・テストを進める方法 3. アプリ・サービスのDockerイメージ構築の CircleCIによる自動化 ぜひご自身の環境での適用例や、修正箇所、ご質問等、 ハッシュタグ #CircleCIJp をつけてツイートください! (@CircleCIJapan のフォローお願いします)
33 Q&A
34
35
36 今後のイベント情報通知を→ から登録して自動化しよう! https://circleci.connpass.com/