Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
カスタムDockerイメージの作成
Search
Masahiko Funaki(舟木 将彦)
October 29, 2020
Technology
24
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(舟木 将彦)
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
260
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
660
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
170
202605-進化し続けるUIに追従.pdf
mfunaki
0
59
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
80
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
90
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
140
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
220
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
100
Other Decks in Technology
See All in Technology
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2.1k
HHKBエバンジェリストになる方法
941
0
110
あけおめLINE 傾向とその対策
nasa9084
0
100
beyond jj: config & tools ecosystem
indirect
0
490
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
730
人間はどの意思決定を手放せるのか
kawasima
14
7k
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
180
AI に書かせたその API、 “信頼” できますか?
nagix
0
110
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
3
1.9k
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
4.2k
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
2
1.6k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Between Models and Reality
mayunak
4
460
HDC tutorial
michielstock
2
870
Side Projects
sachag
456
43k
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/