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
820
ベンチャー企業が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
430
Android Studio `Command+Shift+A`
yasuhiroki
0
370
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
850
rails new コマンド
yasuhiroki
1
780
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.3k
circleci.vim
yasuhiroki
0
1.7k
Rubyの正規表現を調べてみた
yasuhiroki
0
890
開発者(個人)のためのJenkins 運用編
yasuhiroki
0
2.3k
Other Decks in Technology
See All in Technology
生成AI_その前_に_マルチクラウド時代の信頼できるデータを支えるSnowflakeメタデータ活用術.pdf
cm_mikami
0
120
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
120
BirdCLEF+2025 Noir 5位解法紹介
myso
0
200
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
370
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.9k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
510
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
270
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
180
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Embracing the Ebb and Flow
colly
88
4.8k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Context Engineering - Making Every Token Count
addyosmani
5
190
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Navigating Team Friction
lara
189
15k
Why Our Code Smells
bkeepers
PRO
339
57k
GitHub's CSS Performance
jonrohan
1032
460k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
The Pragmatic Product Professional
lauravandoore
36
6.9k
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 Ͱී௨ʹ։ൃ͢Δ͚ͩͰྑ͍ΈΛ ࡞ͬͨ