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
870
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ベンチャー企業がCircleCIを選んだ理由と活用方法
第2回CircleCI ユーザーコミュニティミートアップ 発表内容
https://circleci.connpass.com/event/120371/
Yasuhiroki
March 05, 2019
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
470
Android Studio `Command+Shift+A`
yasuhiroki
0
390
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
930
rails new コマンド
yasuhiroki
1
860
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.4k
circleci.vim
yasuhiroki
0
1.9k
Rubyの正規表現を調べてみた
yasuhiroki
0
1k
開発者(個人)のためのJenkins 運用編
yasuhiroki
0
2.4k
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
2
7.7k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
190
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
230
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
サイバー捜査員研修(前半)
nomizone
1
1.9k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
560
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
140
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
650
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Marketing to machines
jonoalderson
1
5.7k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
For a Future-Friendly Web
brad_frost
183
10k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bash Introduction
62gerente
615
220k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
410
Amusing Abliteration
ianozsvald
1
240
Navigating Weather and Climate Data
rabernat
0
460
A designer walks into a library…
pauljervisheath
211
24k
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 Ͱී௨ʹ։ൃ͢Δ͚ͩͰྑ͍ΈΛ ࡞ͬͨ