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
17
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.1k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.5k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
27k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.5k
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
AIで開発生産性を上げる個人とチームの取り組み
taniigo
0
130
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
800
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
株式会社 Sun terras カンパニーデック
sunterras
0
230
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
150
CSC305 Lecture 02
javiergs
PRO
1
260
開発生産性を上げるための生成AI活用術
starfish719
1
180
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
460
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
150
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
200
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.3k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Fireside Chat
paigeccino
40
3.7k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Building Adaptive Systems
keathley
43
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Become a Pro
speakerdeck
PRO
29
5.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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