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
stormcat24
June 10, 2016
Programming
1
2.4k
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
4.9k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.3k
令和時代のSaaS開発
stormcat24
1
270
History in 5 years of CircleCI and CyberAgent
stormcat24
3
850
Kubernetes Handson Osaka
stormcat24
5
570
Kubernetes Handson
stormcat24
5
4.3k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
320
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
18k
Other Decks in Programming
See All in Programming
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
110
The Missing Link in Angular’s Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
110
Ruby's Line Breaks
yui_knk
3
2k
Jakarta EE Meets AI
ivargrimstad
0
460
監視 やばい
syossan27
11
10k
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
770
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
140
「理解」を重視したAI活用開発
fast_doctor
0
220
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
120
Vibe Coding の話をしよう
schroneko
12
3.3k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Site-Speed That Sticks
csswizardry
6
510
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Typedesign – Prime Four
hannesfritz
41
2.6k
GitHub's CSS Performance
jonrohan
1030
460k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Optimizing for Happiness
mojombo
378
70k
Rails Girls Zürich Keynote
gr2m
94
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
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.