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を選んだ理由と活用方法
Search
Yasuhiroki
March 05, 2019
Technology
1
830
ベンチャー企業がCircleCIを選んだ理由と活用方法
第2回CircleCI ユーザーコミュニティミートアップ 発表内容
https://circleci.connpass.com/event/120371/
Yasuhiroki
March 05, 2019
Tweet
Share
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
440
Android Studio `Command+Shift+A`
yasuhiroki
0
370
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
880
rails new コマンド
yasuhiroki
1
820
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.3k
circleci.vim
yasuhiroki
0
1.7k
Rubyの正規表現を調べてみた
yasuhiroki
0
950
開発者(個人)のためのJenkins 運用編
yasuhiroki
0
2.3k
Other Decks in Technology
See All in Technology
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
Tebiki Engineering Team Deck
tebiki
0
24k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
360
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
210
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
220
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
410
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
630
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
69
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Code Review Best Practice
trishagee
74
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
How to make the Groovebox
asonas
2
1.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
So, you think you're a good person
axbom
PRO
2
1.9k
Speed Design
sergeychernyshev
33
1.5k
Building the Perfect Custom Keyboard
takai
2
690
Transcript
ϕϯνϟʔاۀ͕ CircleCIΛબΜͩཧ༝ ͱ׆༻ํ๏ A10 Lab Inc. @yasuhiroki
ࣗݾհ
ࣗݾհ Workflow
Yasuhiroki (@duck_yasuhiroki)
CircleCI User Community ӡӦ
͖ͳͷ / ۤखͳͷ
Workflowશମ
ͪΌΜͱ Job ॻ͍ͨΑ
ࣗݾհ ৄࡉ • yasuhiroki (tw: @duck_yasuhiroki) • CircleCI User Community
ӡӦϝϯόʔ • CircleCIྺ 2.0 ͕ग़ͨࠒ͔Β • ͦͷલ Jenkins ͓͡͞Μ
ϕϯνϟʔاۀ͕CircleCIΛ બΜͩཧ༝ͱ׆༻ํ๏
ฐࣾհ • A10 Lab Inc. • 20172݄ʹιχʔ͔Βಠཱ • ࡾओࢭΞϓϦʮΈΜνϟϨʯ
None
ϝϯόʔ 10໊ (ΠϯλʔϯؚΉ)
ΤϯδχΞ 7໊ (ΠϯλʔϯؚΉ)
ΤϯδχΞͷ୲༁ • Android: 3໊ • iOS: 4໊ • API: 3໊
• AWS 2໊
ΤϯδχΞΑΓଟ͍ • Android: 3໊ • iOS: 4໊ • API: 3໊
• AWS 2໊ > 7
ΤϯδχΞΑΓଟ͍ • Android: 3໊ • iOS: 4໊ • API: 3໊
• AWS 2໊ 1ਓN
ଞʹ
͓͍߹Θͤ ɹ=> ରԠ͠·͢ ετΞϨϏϡʔ ɹ=> ରԠ͠·͢ αʔϏε௨ใ ɹ=> ରԠ͠·͢
։ൃ͢Δ࣌ؒݶΒΕ͍ͯΔ
ͦΜͳڥͰ CircleCI Λͳͥબͼ CircleCI ͰԿΛͨ͠ͷ͔
CircleCIΛબΜͩཧ༝
CircleCI ΛબΜͩཧ༝ • ར༻͢ΔαʔϏεΛݮΒ͍ͨ͠
ར༻͢ΔαʔϏεΛݮΒ͍ͨ͠ • ࣾһ͕গͳ͍ͷͰ 1ਓN • Android/iOS/Rails ͳͲԣஅͯ͠୲ • ݶΒΕͨϦιʔεͷதͰΓ͘Γ
Ϧιʔε͕ݶΒΕ͍ͯΔͷͰ • αʔϏεΛ͍ͭ͘͏ͱɺ ֶशίετɾཧίετ ͕૿͑ͯࠔΔ • 1ͭͷαʔϏεʹूͰ͖Δͱخ͍͠
ͦ͜Ͱ CircleCI ΛબͿ • iOS/Android/Rails/AWS ͯ͢ରԠͰ͖Δ
CircleCI ΛબΜͩͷͷ... • iOS/Android/Rails/AWS ͯ͢ରԠͰ͖Δ • ͱɺࢥ͍͕ͬͯͨ...
CircleCI ͷ macOS ϓϥϯ • Linuxͱผྉۚ • ࠷ $39/݄ •
Ϗϧυ੍࣌ؒݶ • ࠷ 500/݄
CircleCI ͷ macOS ϓϥϯ • ຖΨϯΨϯϏϧυ͍ͨ͠ • 500͡ΌΓͳ͍ • ͬ͘͟Γܭࢉ͢Δͱɺ
ɹɹ1Ϗϧυ10 * 10ճ * 20 ɹɹɹɹɹɹɹ => 2000 ཉ͍͠
CircleCI ͷ macOS ϓϥϯ • ্ҐͷϓϥϯͳΒͲ͏͔ • $129/݄ (1800) •
$249/݄ (5000) • ଞͷख͕ͳ͍͔ͳ͊...
None
iOS bitrise ʹͨ͠ • ΫϥΠΞϯτΞϓϦʹ ಛԽ͍ͯ͠ΔͷͰ͔Ώ͍ͱ͜Ζʹख͕ಧ͘ • ຖΨϯΨϯϏϧυͰ͖ΔΑ͏ʹͳͬͨ •
CircleCI ͷΩϡʔ͕ۭ͍ͯྑ͍ • ͏αʔϏε͕૿͑ͨ...
͍ͬͦ bitrise ʹ౷Ұ͢Δʁ • bitrise ΫϥΠΞϯτΞϓϦʹಛԽ • Rails AWS
Λѻ͏ͷͰ͖ͳ͍? Ͱ͖ͨͱͯͦ͠͠͏?
CircleCI & bitrise ମ੍ʹ • CircleCI ʹ౷Ұ͍ͨ͠ؾ࣋ͪ͋Δ • iOSαϙʔτ͕ڧԽ͞ΕΔͱ͍͍ͳ͊
CircleCIͷ׆༻ํ๏
1ਓNͷ՝
ઐ֎ͷྖҬʹ৮ΕΔͷͰ... • ίʔυͷॻ͖ํ͕ͦΕͧΕҧͬͯށ͏ • σϓϩΠɾϦϦʔεํ๏͕Α͔͘Βͳ͍
͖͢͜ͱʹूத͍ͨ͠ • ࣮͢Δػೳʹूத͍ͨ͠ • ༷ɺϩδοΫɺઃܭ ʹूத͍ͨ͠
ࣗಈԽͰ͖Δͱ͜ΖࣗಈԽ • Ϗϧυɺςετͷ֬ೝ => ࣗಈԽ • ίʔυϑΥʔϚοτͷ֬ೝ => ࣗಈԽ •
σϓϩΠɺϦϦʔε࡞ۀ => ࣗಈԽ
Լ४උ
ཧΛ૾ • GitHub Λී௨ʹ͑ྑ͍Έʹ͍ͨ͠ • ಛผͳϧʔϧ࡞Γͨ͘ͳ͍ • ආ͚͍ͨϧʔϧͷྫ • ʮXXϥϕϧ͕͋Δ࣌YY͢Δʯ
• ʮϦϦʔεͨ͘͠ͳ͍࣌ ZZ ͢Δʯ
τϦΨʔ։ൃखॱʹؚΊΔ • ॲཧΛ࣮ߦ͢ΔτϦΨʔҎԼʹݶఆ • GitHubʹϓογϡ • ϓϧϦΫΤετ࡞ • ϓϧϦΫΤετΛϚʔδ •
͜ͷτϦΨʔͰରԠͰ͖ͳ͍͜ͱΒͳ͍ • => ෳࡶͳӡ༻ϧʔϧΛ࡞Βͳ͍
ࣗಈԽ͍͢͠ϒϥϯνߏ • ϒϥϯνߏ୯७ͳํ͕ࣗಈԽ͍͢͠ • ࣍ͷ4छྨʹͳΔΑ͏ϧʔϧΛม͑ͨ • feature • develop •
staging • master
۩ମྫ
feature ͷ Workflow Lint Unit Test
reviewdog ͰࣗಈϨϏϡʔ
featureͷUTܰΊʹ
UTฒྻͰ࣮ߦͰ͖ΔΑ͏ʹ
ΧόϨοδ݁Ռ͕ ׂ͞Ε͍ͯΔͷͰϚʔδ͢Δ
develop ͷ Workflow Unit Test Deploy ϓϧϦΫ࡞
Deploy ։ൃڥʹσϓϩΠ ex) eb deploy
ϓϧϦΫΤετࣗಈ࡞ɾߋ৽
ϓϧϦΫͷλΠτϧ͕ॏཁ ϓϧϦΫΤετͷ λΠτϧ͕ॻ͔Ε͍ͯΔ
ϓϧϦΫͷλΠτϧ͕ॏཁ • ϓϧϦΫͷλΠτϧ == ϦϦʔεͷઆ໌จ • git log ͷ Merge
ίϛοτ͔ΒϓϧϦΫΤετΛಛ ఆ͠ɺͦͷλΠτϧΛऔಘ͍ͯͬͯ͠Δ • Merge ίϛοτ͕ඞཁͳͷͰ git rebase ࣌ҙ • git rebase --preserve-merges ͠ͳ͍ͱ Merge ί ϛοτ͕ফ͑ͯ͠·͏
staging / master develop ͱ΄΅ಉ͡
࡞ͬͨΈͷҰཡ • GitHubʹϓογϡ ɹɹ => Ϗϧυɺςετ • ϓϧϦΫΤετΛ࡞ ɹɹ =>
ίʔυϨϏϡʔ • ϓϧϦΫΤετΛϚʔδ ɹɹ => σϓϩΠɺϓϧϦΫ࡞ɾߋ৽
TODO • Android ͷ PlayετΞ σϓϩΠ • GitHub ͷ Tag
/ Release ͷࣗಈ࡞
(͓·͚) NightlyϏϧυ • CircleCI cronه๏Ͱɺ ࢦఆͨ͠λΠϛϯάͰࣗಈϏϧυͰ͖Δ • ศར
༻ྫ ҰҰճ update gems
·ͱΊ • CircleCI iOS/Android/Rails ͯ͢ΛΧόʔ Ͱ͖Δ ※ୠ͠ iOS ੍ݶ͋Γ
• GitHub Ͱී௨ʹ։ൃ͢Δ͚ͩͰྑ͍ΈΛ ࡞ͬͨ