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
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
1.1k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
24k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.1k
How does the Relay connect Android app development and Design?
horie1024
2
1.9k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
1.6k
スキルマップを作った話 / Create a skills map
horie1024
3
4.4k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.4k
ktlintカスタムルールのパッケージ化と再利用/Package and reuse ktlint custom rules
horie1024
1
1.1k
Jetpack Benchmarkでの ViewのInflateパフォーマンスの可視化と改善 / The Jetpack Benchmark. Visualizing and improving View Inflate performance
horie1024
3
1.1k
Other Decks in Programming
See All in Programming
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.8k
return文におけるstd::moveについて
onihusube
1
1.4k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Beyond ORM
77web
11
1.6k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
2025.01.17_Sansan × DMM.swift
riofujimon
2
530
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.3k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
580
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
200
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How GitHub (no longer) Works
holman
312
140k
Making Projects Easy
brettharned
116
6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Site-Speed That Sticks
csswizardry
2
260
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Code Review Best Practice
trishagee
65
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Navigating Team Friction
lara
183
15k
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