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.2k
CircleCIを利用したAndroid開発の効率化
CircleCIを利用した自動ビルド・自動配布
Ryosuke Horie
February 28, 2015
Tweet
Share
More Decks by Ryosuke Horie
See All by Ryosuke Horie
GitHub Copilot Use Cases at ZOZO
horie1024
1
700
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.4k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
26k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.4k
How does the Relay connect Android app development and Design?
horie1024
2
2k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
1.8k
スキルマップを作った話 / Create a skills map
horie1024
3
4.6k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.5k
ktlintカスタムルールのパッケージ化と再利用/Package and reuse ktlint custom rules
horie1024
1
1.2k
Other Decks in Programming
See All in Programming
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
270
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
480
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
580
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
670
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
220
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
140
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
730
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Visualization
eitanlees
146
16k
Navigating Team Friction
lara
187
15k
Code Reviewing Like a Champion
maltzj
524
40k
KATA
mclloyd
30
14k
Six Lessons from altMBA
skipperchong
28
3.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Invisible Side of Design
smashingmag
300
51k
Code Review Best Practice
trishagee
69
18k
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