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
CircleCIのご紹介 / Introduction of CircleCI
Search
Noboru Kurumai
November 30, 2018
Technology
1
110
CircleCIのご紹介 / Introduction of CircleCI
ソフトウェア開発におけるCI/CDの重要性とCircleCIの特徴
Noboru Kurumai
November 30, 2018
Tweet
Share
More Decks by Noboru Kurumai
See All by Noboru Kurumai
SP800-63-4 Digital Identity Guidelines (Main)
kurumai
0
250
State of DevOps Report 2020/2021から見るCI/CDの始め方
kurumai
1
1.7k
30 million workflows reveal about DevOps in practice
kurumai
4
9.9k
go-saas-circleci-number-4
kurumai
0
820
CircleCI Webinar
kurumai
1
540
Go SaaS CircleCI #3
kurumai
0
470
Latest updates of CircleCI
kurumai
1
400
Go_SaaS CircleCI
kurumai
0
380
CircleCI Ship Quality Code, Faster
kurumai
0
450
Other Decks in Technology
See All in Technology
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
120
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.7k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
0
1.4k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
190
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
240
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
120
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
490
Vitest Highlights in Angular
rainerhahnekamp
0
130
SMTP完全に理解した ✉️
yamatai1212
0
190
Featured
See All Featured
Designing for Performance
lara
610
70k
Prompt Engineering for Job Search
mfonobong
0
150
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
150
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Being A Developer After 40
akosma
91
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
93
WENDY [Excerpt]
tessaabrams
9
36k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The SEO Collaboration Effect
kristinabergwall1
0
350
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
Context Engineering - Making Every Token Count
addyosmani
9
640
Transcript
1 CircleCIのご紹介 2018/10/31 ソフトウェア開発における CI/CDの重要性とCircleCIの特徴
2 車井 登 / Noboru Kurumai Solutions Engineer & Customer
Success Engineer @ CircleCI
[email protected]
自己紹介
CircleCI • ソフトウェア開発者をターゲットに、より良いコードをより早くデリバリす るためのサービスを提供 • 2011年に米国サンフランシスコで創業 • 世界中に170名以上の従業員 REPRESENTATIVE CUSTOMERS
4 グローバルで100,000社以上にご利用頂いています
5 Why CI/CD? 継続的インテグレーションと継続的デリバリはなぜ必要なのか
モダンソフトウェアデリバリの3つの柱
モダンソフトウェアデリバリの3つの柱 本番環境
モダンソフトウェアデリバリの3つの柱 Continuous Delivery 本番環境
継続的デリバリを実現するための要素 課題管理 依存関係管理 アプリケーション フレームワーク コード品質 コードレビュー データストア コミュニケーション ビルド自動化ツール
テスト自動化 コンテナレジストリ デバイス&ブラウザテスト 成果物管理 モニタリング ロギング コンテナ オーケストレーション サービス マネジメント 本番環境 スケジューリング &デリバリ セキュリティ
10 CI/CDとは - CI (Continuous Integration / 継続的インテグレーション) - CD
(Continuous Delivery / 継続的デリバリ)
11 継続的インテグレーション - What? 全ての開発者が共有リポジトリにコミットを積み重ね、 全てのコミットをトリガーにしてビルドとテストを繰り返すこと。 これによりテストに失敗した場合に素早く修正することが可能となる。 - Why? チームの生産性・効率・満足度を上げるため。
品質を上げ、スピードを上げ、より安定した製品を生み出すため。
12 継続的デリバリー - What? 継続的インテグレーションに加えて、本番環境またはテスト環境に資産が配備され ること。またはデプロイ可能な最新の(新鮮な)資産が常に手元にあること。 - Why? 成果物を素早く顧客に提供し、より早くフィードバックを得るため。 日々変化する市場・顧客の状況に素早く対応するため。
13 CI/CDのさまざまな価値 - アジャイルによる開発速度の向上 - マニュアル作業からの開放 - 開発者は小さな変更を(自信を持って)逐次Pushできる - テスト環境の統一による品質向上
- “自分の環境だとテストはパスしました”を失くす - データストアの準備など開発環境での完全なテストが難しくなっている
継続的デリバリを実現するための要素 課題管理 依存関係管理 アプリケーション フレームワーク コード品質 コードレビュー データストア コミュニケーション ビルド自動化ツール
テスト自動化 コンテナレジストリ デバイス&ブラウザテスト 成果物管理 モニタリング ロギング コンテナ オーケストレーション サービス マネジメント 本番環境 スケジューリング &デリバリ セキュリティ
15 Why CircleCI? CIrcleCIの特徴
16 CircleCI
17 デモ サンプルJavaプロジェクトをCircleCIに登録してCIを開始するまで
18 アーキテクチャ
19 CircleCIの主な特徴 - ワークフロー - Dockerサポート - 多言語サポート - .circleci/config.ymlでテスト環境を統一
- SSHデバッグ - パラレルジョブ・マルチコンテナ - デプロイ
20 ワークフロー • ステップ: 実行可能なコマンド • ジョブ: 複数のステップから構成され、実行環境で実行される単位 • ワークフロー:
それぞれのジョブ(ビルド、テストなど)がどのように動くかを定義したもの • ビルド: ジョブやワークフローの総称 • ファンアウト・ファンイン : 複数のジョブへの分岐・複数のジョブからの収束
21 ワークフローのタイプ • スケジューリング: ナイトリービルドのように決まった時刻に実行 • マニュアル承認: ワークフローの一部で自動実行を中断し、手動による承認によって再開 • ブランチ指定:
特定のブランチへのコミットによって実行 • タグ指定: Gitのタグによって実行
22 Dockerサポート - CircleCIはネイティブでDockerをサポートしています。 - VMによるCIと比べて非常に高速にビルド環境を構築することが可能です。 https://circleci.com/docs/2.0/circleci-images/
23 多言語サポート • Android • Clojure • Elixir • Go
(Golang) • JRuby • Node.js • OpenJDK (Java) • PHP • Python • Ruby • Rust CircleCIでは、下記の言語をサポートした公式Dockerイメージをご提供 https://circleci.com/docs/2.0/circleci-images/
24 .circleci/config.ymlでテスト環境を統一 https://circleci.com/docs/2.0/sample-config/ Dockerイメージを指定 コードの取得やテスト内容を ステップとして記述 個々のジョブ定義 ジョブを組み合わせたワークフロー定義 ・連続実行 ・ファンアウト・ファンイン
・スケジューリング ・ブランチ別 ・タグ別 ...等
25 SSHデバッグ ビルドに失敗した場合など、SSHデバッグをOnにして再実行することで、 ビルド終了後2時間、もしくはSSHセッションが終わって10分間までは コンテナを起動した状態で維持します https://circleci.com/docs/2.0/ssh-access-jobs/
26 パラレルジョブ・マルチコンテナ - パラレルジョブ(1つのジョブを複数のコンテナで並列に実行) - 名前による分割 - ファイルサイズによる分割 - タイミングによる分割
- マルチコンテナ(複数のジョブを複数のコンテナで並列に実行) https://circleci.com/docs/2.0/parallelism-faster-jobs/ https://circleci.com/docs/2.0/workflows/
27 デプロイ https://circleci.com/docs/2.0/deployment-integrations/ • AWS • Azure • Capistrano •
Cloud Foundry • Firebase • Google Cloud • Heroku • NPM • SSH 下記のクラウド・プラットフォームへのデプロイをサポート
28 Twitter CircleCIの最新情報はTwitterで発信しています。ぜひフォローしてください。 ( @CircleCIJapan )
29 WEB+DB PRESS Vol.107
30 エンジニアのためのCI/CD再入門 https://codezine.jp/article/corner/754
31
Thank you. 32
33