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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
56
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.5k
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
29k
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.2k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
2k
スキルマップを作った話 / Create a skills map
horie1024
3
4.7k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.7k
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
140
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.8k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
浮動小数の比較について
kishikawakatsumi
0
220
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
120
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
170
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
810
並行開発のためのコードレビュー
miyukiw
2
1.7k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
780
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
120
高速開発のためのコード整理術
sutetotanuki
1
420
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
1.5k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.3k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
The Limits of Empathy - UXLibs8
cassininazir
1
230
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
Believing is Seeing
oripsolob
1
65
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
150
RailsConf 2023
tenderlove
30
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
160
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
82
My Coaching Mixtape
mlcsv
0
55
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