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 Server運用のポイント / Point of CirlceCI Serv...
Search
dehio3
October 01, 2019
Technology
1
620
CircleCI Server運用のポイント / Point of CirlceCI Server operation
【東京】CircleCI ユーザーコミュニティミートアップ#7
https://circleci.connpass.com/event/147712/
dehio3
October 01, 2019
Tweet
Share
More Decks by dehio3
See All by dehio3
とっ散らかったログバケットを S3バッチオペレーションで整理整頓 / Organizing disordered log buckets using S3 Batch Operations
tomohide_tanaka
0
230
40代エンジニアの生活の変化とキャリアの歩み
tomohide_tanaka
0
1.4k
AWSソリューションを活用して 1ヶ月で動画配信機能をリリースした話 / The story of releasing the Video distribution service in one month using AWS solutions
tomohide_tanaka
1
1.4k
GitHub Actionsで Terraformをplan&applyしてみた / I tried to plan and apply Terraform with GitHub Actions
tomohide_tanaka
6
6.1k
CircleCI_Serverの利用状況を可視化した話 / CircleCI Server Visualization of usage status
tomohide_tanaka
0
880
Other Decks in Technology
See All in Technology
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
3
250
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
2.3k
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
130
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
3
170
OpenAPIから画面生成に挑戦した話
koinunopochi
0
160
モダンフロントエンド 開発研修
recruitengineers
PRO
3
340
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
270
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
How GitHub (no longer) Works
holman
315
140k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Thoughts on Productivity
jonyablonski
69
4.8k
A designer walks into a library…
pauljervisheath
207
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Site-Speed That Sticks
csswizardry
10
790
Become a Pro
speakerdeck
PRO
29
5.5k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Transcript
CircleCI Server 運用のポイント CircleCI ユーザーコミュニティミートアップ #7
自己紹介 Tanaka Tomohide • twitter: @dehio3 • blog:https://www.dehio3.com/ • 音響屋→インフラエンジニア
• CircleCI運用歴:10ヶ月 2
はじめに
CircleCI Serverとは • オンプレミス版のCircleCI • CirlceCIから公開されているTerraformを利用して、AWS上に 構築可能 ◦ https://github.com/circleci/enterprise-setup
CircleCI Server 使ってる?✋
CircleCI Server 検討してる?✋
今日話す内容 • オンプレ版の運用中に発生した課題から気づいた運用のポイ ント • CircleCI Server 2.17.3時点での情報(9/30時点の最新) ◦ https://circleci.com/server/changelog/
CircleCI Server の 構成要素
None
ビルドの詳しい仕組みは https://speakerdeck.com/kimh/circleci-2-dot-0wozhi-eru2tufalse-kontenakurasutatosre
永続リソースと 一時リソースそれぞれのポイント
永続リソース
None
スケーリングのタイミング • nomad-clientはAutoScalingから起動する。 • AutoScalingでEC2インスタンス起動アクション後、nomad-clientでbuild処理可能 な状態になるまで3,4分かかる。 • AutoScalingのアクションは自動では実行されない為、スケールリングアクションの 契機は自分で実装する必要がある。 •
キューの滞留を検知してからスケールリングすると、スケールリングしたタイミング では既にキューが捌け終わって、無駄なスケールになる事もある。 • スケジュールでの時間契機か、リソース状況契機か、利用状況に応じてスーリング の検討が必要。
一時リソース
None
machine executorは冗長化未対応 • machine executorを動作させるサブネットは現状一つしか指定でない。 • 設定はWebコンソールから実施する為、AZを変更する場合は再起動が必要。 • 8/23のAZ障害はまさに直撃した・・ていうかこの時気づいた( ;∀;)
• 即サポートに連絡して改善要望!!
machine executorインスタンスのゾンビ化 • “machine”と”setup_remote_docker”を利用すると、一時的なEC2インスタンスが 新規に作成される。 • 本来であれば処理が終わるとインスタンスが削除されるが、バグ(2.14.01以前)や 起動中のserviceboxの再起動によって、インスタンスが削除されずに残る事があ る。 •
ゾンビインスタンは無駄なコストになるので、定期的なゾンビインスタンスのチェック が必要。
DLCのキャッシュ保持期間 • “docker_layer_caching”を設定すると専用のEBSボリュームが作成され、都度マ ウントされる事で、キャッシュが実現される。 • “Inactivity period before clearing Docker
cache storage volumes (days)”にて chacheの保持期間を設定でき、デフォルトの14日に設定される。 • 保持期間はEBSボリュームの作成日ではなく、最終利用日から14日保持される。 • EBSボリュームについては、未利用時であっても課金される為、利便性とコストの バランスで保持期間を設定する。
まとめ
まとめ • 当然だがオンプレ版の場合はCircleCIのインフラも運用する 必要がある。 • インフラの維持コストを抑える為に、状況の可視化と継続的な 運用の改善が必要。 • まだまだ改善の余地はあるので、今後のCirlceCI Serverの開
発に期待!!
おまけ
前回のミートアップ https://speakerdeck.com/tomohide_tanaka/circleci-server-visualization-of-usage-status
SaaS版のビルド情報を取得ツールを作成 https://www.dehio3.com/entry/2019/09/23/115924
Thank you!! 25