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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Noboru Kurumai
November 30, 2018
Technology
110
1
Share
CircleCIのご紹介 / Introduction of CircleCI
ソフトウェア開発におけるCI/CDの重要性とCircleCIの特徴
Noboru Kurumai
November 30, 2018
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.8k
30 million workflows reveal about DevOps in practice
kurumai
4
10k
go-saas-circleci-number-4
kurumai
0
830
CircleCI Webinar
kurumai
1
540
Go SaaS CircleCI #3
kurumai
0
480
Latest updates of CircleCI
kurumai
1
410
Go_SaaS CircleCI
kurumai
0
380
CircleCI Ship Quality Code, Faster
kurumai
0
450
Other Decks in Technology
See All in Technology
Cortex Code君、今日から内製化支援担当ね。
coco_se
0
190
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
290
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
350
ハーネスエンジニアリング×AI適応開発
aictokamiya
3
1.3k
Why we keep our community?
kawaguti
PRO
0
370
トイルを超えたCREは何屋になるのか
bengo4com
0
120
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
670
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
4
760
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
900
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
230
AI時代のシステム開発者の仕事_20260328
sengtor
0
320
スケーリングを封じられたEC2を救いたい
senseofunity129
0
140
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
2.9M
Tell your own story through comics
letsgokoyo
1
880
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
A Tale of Four Properties
chriscoyier
163
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
Mind Mapping
helmedeiros
PRO
1
140
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
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