Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
CircleCI in CyberAgent 2016.06.10 CircleCI Meetup @stormcat24
Slide 2
Slide 2 text
stormcat24 http://blog.stormcat.io CyberAgent, Inc.
Slide 3
Slide 3 text
2016.01.21 AmebaFRESH! 2016.04.01 AbemaTV FRESH! 2016.06.01 FRESH! by AbemaTV
Slide 4
Slide 4 text
CircleCI and me
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
その他書いた記事 ‣ CircleCIアンチパターン 2015春 ‣ CircleCIからサーバへのSSH接続確立時間を高速化する ‣ CircleCIでサクッとビルドチェーンを実現する ‣ CircleCIのキャッシュ(cache_directories)の挙動を解説するよ ‣ CircleCIで変更があった箇所だけに限定してビルドするテクニック ‣ 大規模な組織で新しいツールを導入するのにはかなりエネルギーがいる話 - CircleCI編 -
Slide 7
Slide 7 text
CircleCI Advent Calendar 2015 http://qiita.com/advent-calendar/2015/circleci
Slide 8
Slide 8 text
CI in CyberAgent
Slide 9
Slide 9 text
AmebaとCI ‣ Ameba(とその他メディア管轄)はGitHub Enterprise(GHE)を 利用 ‣ CIは基本Jenkins ‣ 職人が用意した共通Jenkins ‣ プロジェクトで用意したものや野良Jenkins等 ‣ GHEだとCIの選択肢が限定されるのでツラい
Slide 10
Slide 10 text
アドテクやグループ会社 ‣ GitHub.com(プライベート)を利用 ‣ TravisCIやCircleCIも利用✌( ◔౪◔)✌ ‣ Ameba「ぐぬぬ」
Slide 11
Slide 11 text
CircleCIとAmeba ‣ 2014夏 ‣ @stormcat24がCircleCIの機能検証開始 ‣ @stormcat24がEnterprise版の導入交渉開始 ‣ 2014秋 ‣ @stormcat24が社内的な説得を始める ‣ 2014冬 ‣ Enterprise版お試し導入のGoサインが出る
Slide 12
Slide 12 text
CircleCIとAmeba ‣ 2015/02 ‣ Ameba管轄で(ひっそりと)CircleCI Enterprise(クラウド版)利用開始 ‣ @stormcat24が新規事業(後のFRESH!)へ異動、事実上独占的に利用 ‣ 2015/04 ‣ 正式に導入。他のプロジェクトにじわじわと広まっていく ‣ 2016/04 ‣ クラウド版からオンプレ版に変更
Slide 13
Slide 13 text
気をつけたこと(導入前) ‣ それ、Jenkinsでもできるよね?に屈しない ‣ 可用性に関する疑問への解答 ‣ 大義名分を持とう ‣ CI環境の集約、ノウハウ・ナレッジの共有等 ‣ 運用コスト削減、スタートアップの初速アップ ‣ 銀の弾丸では無いと素直に言う
Slide 14
Slide 14 text
気をつけたこと(導入後) ‣ 基本的にプロジェクト・チーム任せ ‣ 導入に尽力したけど、推進には尽力してない ‣ 各々のCIに対する意識を変えてもらうことが重要 ‣ 誰か一人が頑張りすぎる⇒属人化Jenkinsと変わらない ‣ 本当に困ったときくらいのサポートでいい
Slide 15
Slide 15 text
Use Case
Slide 16
Slide 16 text
Projects ‣ Server Side ‣ Java/Scala/Node/Go ‣ Frontend ‣ Android(Java/Kotlin)
Slide 17
Slide 17 text
Build / Test / Artifacts ‣ ユニットテスト ‣ MySQL, Redis通してのUTとかも ‣ E2Eテスト ‣ APIドキュメント ‣ Crashlyticsにapkアップロード
Slide 18
Slide 18 text
Infrastructure & DevOps ‣ Hubot + Deploy ‣ DB Migration ‣ docker build / docker push ‣ Terraform ‣ Roadworker ‣ Mackerel
Slide 19
Slide 19 text
※運用イメージ(一例)
Slide 20
Slide 20 text
運用イメージ ‣ たいていどこも似たり寄ったりなはず ‣ ビルドトリガーをどうするか。やりやすいものを選べばよいかと ‣ あとはCircleCIに何の責務を担わせるか
Slide 21
Slide 21 text
導入した感想 ‣ 新規プロジェクトこそ向いてる ‣ 組織として、CI環境が統一に向かうのは良いこと ‣ ノウハウの蓄積、野良Jenkinsの整理 ‣ 継続的にJenkinsの面倒見るより楽、属人性DOWN ‣ Pull Request / Review / Testの文化の促進
Slide 22
Slide 22 text
まとめ ‣ 導入戦略は重要です ‣ 導入後はなるべく職人を作らない方向で ‣ 使い倒してCircleCIにフィードバックしましょう ‣ あとはお値段をもう少しお安く ‣ CircleCI盛り上げていきましょう
Slide 23
Slide 23 text
Let’s try CircleCI.