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 in CyberAgent
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
stormcat24
June 10, 2016
Programming
1
2.5k
CircleCI in CyberAgent
2016/06/10 CircleCI Meetup #circleci_meetup
stormcat24
June 10, 2016
Tweet
Share
More Decks by stormcat24
See All by stormcat24
素早く賢く失敗するDeveloper Productivityの実現を目指して
stormcat24
4
5.3k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.5k
令和時代のSaaS開発
stormcat24
1
330
History in 5 years of CircleCI and CyberAgent
stormcat24
3
890
Kubernetes Handson Osaka
stormcat24
5
620
Kubernetes Handson
stormcat24
5
4.5k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
370
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
18k
Other Decks in Programming
See All in Programming
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
290
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
200
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
440
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
200
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
150
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
120
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
530
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
550
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
380
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
590
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
2
370
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
YesSQL, Process and Tooling at Scale
rocio
174
15k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Designing for humans not robots
tammielis
254
26k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The Spectacular Lies of Maps
axbom
PRO
1
620
For a Future-Friendly Web
brad_frost
183
10k
Transcript
CircleCI in CyberAgent 2016.06.10 CircleCI Meetup @stormcat24
stormcat24 http://blog.stormcat.io CyberAgent, Inc.
2016.01.21 AmebaFRESH! 2016.04.01 AbemaTV FRESH! 2016.06.01 FRESH! by AbemaTV
CircleCI and me
None
その他書いた記事 ‣ CircleCIアンチパターン 2015春 ‣ CircleCIからサーバへのSSH接続確立時間を高速化する ‣ CircleCIでサクッとビルドチェーンを実現する ‣ CircleCIのキャッシュ(cache_directories)の挙動を解説するよ
‣ CircleCIで変更があった箇所だけに限定してビルドするテクニック ‣ 大規模な組織で新しいツールを導入するのにはかなりエネルギーがいる話 - CircleCI編 -
CircleCI Advent Calendar 2015 http://qiita.com/advent-calendar/2015/circleci
CI in CyberAgent
AmebaとCI ‣ Ameba(とその他メディア管轄)はGitHub Enterprise(GHE)を 利用 ‣ CIは基本Jenkins ‣ 職人が用意した共通Jenkins ‣
プロジェクトで用意したものや野良Jenkins等 ‣ GHEだとCIの選択肢が限定されるのでツラい
アドテクやグループ会社 ‣ GitHub.com(プライベート)を利用 ‣ TravisCIやCircleCIも利用✌( ◔౪◔)✌ ‣ Ameba「ぐぬぬ」
CircleCIとAmeba ‣ 2014夏 ‣ @stormcat24がCircleCIの機能検証開始 ‣ @stormcat24がEnterprise版の導入交渉開始 ‣ 2014秋 ‣
@stormcat24が社内的な説得を始める ‣ 2014冬 ‣ Enterprise版お試し導入のGoサインが出る
CircleCIとAmeba ‣ 2015/02 ‣ Ameba管轄で(ひっそりと)CircleCI Enterprise(クラウド版)利用開始 ‣ @stormcat24が新規事業(後のFRESH!)へ異動、事実上独占的に利用 ‣ 2015/04
‣ 正式に導入。他のプロジェクトにじわじわと広まっていく ‣ 2016/04 ‣ クラウド版からオンプレ版に変更
気をつけたこと(導入前) ‣ それ、Jenkinsでもできるよね?に屈しない ‣ 可用性に関する疑問への解答 ‣ 大義名分を持とう ‣ CI環境の集約、ノウハウ・ナレッジの共有等 ‣
運用コスト削減、スタートアップの初速アップ ‣ 銀の弾丸では無いと素直に言う
気をつけたこと(導入後) ‣ 基本的にプロジェクト・チーム任せ ‣ 導入に尽力したけど、推進には尽力してない ‣ 各々のCIに対する意識を変えてもらうことが重要 ‣ 誰か一人が頑張りすぎる⇒属人化Jenkinsと変わらない ‣
本当に困ったときくらいのサポートでいい
Use Case
Projects ‣ Server Side ‣ Java/Scala/Node/Go ‣ Frontend ‣ Android(Java/Kotlin)
Build / Test / Artifacts ‣ ユニットテスト ‣ MySQL, Redis通してのUTとかも
‣ E2Eテスト ‣ APIドキュメント ‣ Crashlyticsにapkアップロード
Infrastructure & DevOps ‣ Hubot + Deploy ‣ DB Migration
‣ docker build / docker push ‣ Terraform ‣ Roadworker ‣ Mackerel
※運用イメージ(一例)
運用イメージ ‣ たいていどこも似たり寄ったりなはず ‣ ビルドトリガーをどうするか。やりやすいものを選べばよいかと ‣ あとはCircleCIに何の責務を担わせるか
導入した感想 ‣ 新規プロジェクトこそ向いてる ‣ 組織として、CI環境が統一に向かうのは良いこと ‣ ノウハウの蓄積、野良Jenkinsの整理 ‣ 継続的にJenkinsの面倒見るより楽、属人性DOWN ‣
Pull Request / Review / Testの文化の促進
まとめ ‣ 導入戦略は重要です ‣ 導入後はなるべく職人を作らない方向で ‣ 使い倒してCircleCIにフィードバックしましょう ‣ あとはお値段をもう少しお安く ‣
CircleCI盛り上げていきましょう
Let’s try CircleCI.