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
100
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
240
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
450
Latest updates of CircleCI
kurumai
1
390
Go_SaaS CircleCI
kurumai
0
370
CircleCI Ship Quality Code, Faster
kurumai
0
440
Other Decks in Technology
See All in Technology
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.6k
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
3
410
[CV勉強会@関東 ICCV2025 読み会] World4Drive: End-to-End Autonomous Driving via Intention-aware Physical Latent World Model (Zheng+, ICCV 2025)
abemii
0
250
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
210
AI エージェント活用のベストプラクティスと今後の課題
asei
1
240
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
160
持続可能なアクセシビリティ開発
azukiazusa1
6
320
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
520
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
3.9k
.NET 10のEntity Framework Coreの新機能
htkym
0
100
LINEギフト・LINEコマース領域の開発
lycorptech_jp
PRO
0
370
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Bash Introduction
62gerente
615
210k
Writing Fast Ruby
sferik
630
62k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Cult of Friendly URLs
andyhume
79
6.7k
Transcript
1 CircleCIのご紹介 2018/10/31 ソフトウェア開発における CI/CDの重要性とCircleCIの特徴
2 車井 登 / Noboru Kurumai Solutions Engineer & Customer
Success Engineer @ CircleCI noboru@circleci.com 自己紹介
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