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.8k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.3k
令和時代のSaaS開発
stormcat24
1
260
History in 5 years of CircleCI and CyberAgent
stormcat24
3
840
Kubernetes Handson Osaka
stormcat24
5
570
Kubernetes Handson
stormcat24
5
4.3k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
310
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
17k
Other Decks in Programming
See All in Programming
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
0
120
フロントエンドオブザーバビリティ on Google Cloud
yunosukey
0
150
ニックトレイン登壇資料
ryotakurokawa
0
110
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
860
良いコードレビューとは
danimal141
10
10k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
120
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
320
もっと大きなデータを送りませんか? エラーがゴロゴロ出るようなデータです
sublimer
0
170
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
170
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
420
Domain-Driven Design (Tutorial)
hschwentner
13
22k
iOSでQRコード生成奮闘記
ktcryomm
2
190
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Embracing the Ebb and Flow
colly
84
4.6k
The Cult of Friendly URLs
andyhume
78
6.3k
Six Lessons from altMBA
skipperchong
27
3.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
How GitHub (no longer) Works
holman
314
140k
Unsuck your backbone
ammeep
669
57k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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.