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を利用したAndroid開発の効率化
Search
Ryosuke Horie
February 28, 2015
Programming
4
8.3k
CircleCIを利用したAndroid開発の効率化
CircleCIを利用した自動ビルド・自動配布
Ryosuke Horie
February 28, 2015
Tweet
Share
More Decks by Ryosuke Horie
See All by Ryosuke Horie
Androidifyから学ぶFirebase AI Logic SDKの使い方
horie1024
0
47
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.3k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.7k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
28k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.6k
How does the Relay connect Android app development and Design?
horie1024
2
2.1k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
1.9k
スキルマップを作った話 / Create a skills map
horie1024
3
4.7k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.6k
Other Decks in Programming
See All in Programming
Basic Architectures
denyspoltorak
0
130
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.1k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.4k
Cell-Based Architecture
larchanjo
0
150
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
190
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
860
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
2
110
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Scaling GitHub
holman
464
140k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
67
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
37
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
31
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
29
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
Are puppies a ranking factor?
jonoalderson
0
2.5k
WCS-LA-2024
lcolladotor
0
390
The agentic SEO stack - context over prompts
schlessera
0
570
The World Runs on Bad Software
bkeepers
PRO
72
12k
Transcript
CircleCIΛར༻ͨ͠ Android։ൃͷޮԽ VASILY,(Inc.(ງߐ 2/28ʲiOS/Androidʳ࠷৽ࣄྫ͔ΒֶͿʂϞόΠϧ͚ςετख๏ษڧձ ©"VASILY,"Inc.,"2015 1
ࣗݾհ • ງߐ"྄հ"@Horie1024 • ࡢ11݄͔ΒVASILYͰۈ • ओʹiQON"Android൛ͷ։ൃΛ୲ ©"VASILY,"Inc.,"2015 2
GooglePlayετΞ 2014ϕετΞϓϦ ©"VASILY,"Inc.,"2015 3
ൃද༰ • ΞϓϦͷಈ࡞֬ೝΛޮྑ͘ߦ͍͍ͨ • ϦϦʔε࡞ۀΛͰ͖Δ͚ͩݮΒ͍ͨ͠ • ࣗಈϏϧυ • APKͷࣗಈԽ ©"VASILY,"Inc.,"2015
4
iQONͷ։ൃϑϩʔ • PullRequestϕʔεͷ։ൃ • releaseϒϥϯνΛ࡞͠PullRequest • releaseϏϧυΛݕূͰ֬ೝ • ϦϦʔεલʹmasterreleaseΛϚʔδ ©"VASILY,"Inc.,"2015
5
ϦϦʔε࡞ۀ 1. masterϒϥϯν͔ΒAPKΛ࡞ 2. ϝʔϧͰAPKΛࣾ 3. ࠷ऴ֬ೝ 4. GooglePlayʹΞοϓϩʔυ 5.
ϦϦʔεྃ ©"VASILY,"Inc.,"2015 6
ϦϦʔε࡞ۀͷ • ࡞ۀखॱ؆୯͕ͩϦϦʔεͷʹ࡞ۀ͕ൃੜ͢ΔͷͰ໘ • िʹ࠷1ճɺෳճߦ͏߹͋Δ • ۃྗ࡞ۀΛݮΒ͍ͨ͠ ©"VASILY,"Inc.,"2015 7
࣮ݱͨ͜͠ͱ • APK࡞ͷࣗಈԽ • ࣾͷࣗಈԽ ©"VASILY,"Inc.,"2015 8
ϦϦʔε࡞ۀͷݮ(લ) 1. masterϒϥϯν͔ΒAPKΛ࡞ 2. ϝʔϧͰAPKΛࣾ 3. ࠷ऴ֬ೝ 4. GooglePlayʹΞοϓϩʔυ 5.
ϦϦʔεྃ ©"VASILY,"Inc.,"2015 9
ϦϦʔε࡞ۀͷݮ(ޙ) 1. masterͷPullRequestͷϚʔδͰࣗಈ 2. ࠷ऴ֬ೝ 3. GooglePlayʹΞοϓϩʔυ 4. ϦϦʔεྃ ©"VASILY,"Inc.,"2015
10
Ͳ͏࣮ݱ͔ͨ͠ • CircleCIΛத৺ʹ࣮ݱ ©"VASILY,"Inc.,"2015 11
Ͳ͏࣮ݱ͔ͨ͠ • CircleCI)+)GitHub)+)DeployGate)+)Slack • GitHubͷPushΛݕ͠ϏϧυΛ։࢝ • CircleCIͰϏϧυɺDeployGateͰ • Ϗϧυ݁ՌͷSlackͷ௨ ©"VASILY,"Inc.,"2015
12
ͳͥCircleCIʁ • iQONͷαʔόαΠυͰར༻࣮ • Jenkinsͷཧʹख͕ճΒͳ͍ • android/sdk͕VMʹඪ४Ͱ४උ ©"VASILY,"Inc.,"2015 13
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ ©"VASILY,"Inc.,"2015 14
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ ©"VASILY,"Inc.,"2015 15
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ 3. SlackϏϧυͷ൱Λ௨ ©"VASILY,"Inc.,"2015 16
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ 3. SlackϏϧυͷ൱Λ௨ 4. DeployGateAPKΛΞοϓϩʔυ ©"VASILY,"Inc.,"2015
17
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ 3. SlackϏϧυͷ൱Λ௨ 4. DeployGateAPKΛΞοϓϩʔυ 5.
ݕূʹAPKͷߋ৽Λ௨ ©"VASILY,"Inc.,"2015 18
࣮ݱͨ͠ϑϩʔ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ 3. SlackϏϧυͷ൱Λ௨ 4. DeployGateAPKΛΞοϓϩʔυ 5.
ݕূʹAPKͷߋ৽Λ௨ 6. APKΛΠϯετʔϧ ©"VASILY,"Inc.,"2015 19
݁Ռ • ͍ͭͰ࠷৽ϏϧυΛࢼ͢͜ͱ͕Մೳ • masterɾreleaseϒϥϯνͷϚʔδ୯ҐͰݕূʹ৴ • ϦϦʔεखॱͷݮ • APKΛखಈͰ࡞Βͳͯ͘ྑ͍ •
ϝʔϧͰAPKΛ͢Δඞཁ͕ແ͍ ©"VASILY,"Inc.,"2015 20
CircleCIΛӡ༻ͯ͠ࠔͬͨ͜ͱ • Out%Of%Memory • VMͷϝϞϦ͕4G • build4toolsͷόʔδϣϯΛ21ʹ্͛ͨࡍසൃ • GradleΛ2ܥʹ্͛ͨͱ͜Ζऩ·Δ(كʹൃੜ) •
CircleCI͍߹ΘͤͰ8Gʹ্͛ΒΕΔͷͰղܾ ©"VASILY,"Inc.,"2015 21
࣮ݱ͢ΔͨΊͷௐࠪ • CircleCIͷઃఆํ๏ • CircleCIͰͷAndroidͷϏϧυ • DeployGateͱͷ࿈ܞ • Slackͱͷ࿈ܞ ©"VASILY,"Inc.,"2015
22
ฐࣾϒϩάʹ·ͱΊ·ͨ͠ɻ h"p:/ /tech.vasily.jp/circleci_deploygate_android_app_automa9on/ ©"VASILY,"Inc.,"2015 23
ࠓऔΓΜͰ͍Δ͜ͱ • GooglePlayͷࣗಈΞοϓϩʔυ ©"VASILY,"Inc.,"2015 24
GooglePlayͷ ΞοϓϩʔυࣗಈԽ • PythonͰऔΓ߹͑ͣࢼͨ͠ • CircleCIͱ࿈ܞͤ͞ςετத • 3݄લʹ࣮ݱ͍ͨ͠ ©"VASILY,"Inc.,"2015 25
1. releaseϒϥϯνPullRequest 2. ϚʔδͰࣗಈɺ࠷ऴ֬ೝ 3. masterPullRequest 4. GooglePlayʹΞϧϑΝͰࣗಈΞοϓϩʔυ 5. Developer9ConsoleͰΞϧϑΝΛ൛ʹมߋ
6. ϦϦʔεྃ ©"VASILY,"Inc.,"2015 26
Hubotͷ׆༻ • ։ൃޮ͕ྑ͘ͳΔΈΛݕ౼ ©"VASILY,"Inc.,"2015 27
͍ۙ͏ͪʹΔ͖͜ͱ • Ϣχοτςετͷ֦ॆ • ςετͷཧղΛਂΊΔ • E2Eςετ • EspressoɺAppiumɺCalabash... ©"VASILY,"Inc.,"2015
28
͋Γ͕ͱ͏͍͟͝·ͨ͠ ©"VASILY,"Inc.,"2015 29