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
GooglePlayへのアップロード自動化を試してみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryosuke Horie
March 12, 2015
Programming
6
8.6k
GooglePlayへのアップロード自動化を試してみた
GooglePlayへのアップロード自動化を試す
Ryosuke Horie
March 12, 2015
Tweet
Share
More Decks by Ryosuke Horie
See All by Ryosuke Horie
Androidifyから学ぶFirebase AI Logic SDKの使い方
horie1024
0
62
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.6k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
2.8k
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 Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
340
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
420
安いハードウェアでVulkan
fadis
0
470
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
410
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
150
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.5k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
260
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
400
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
190
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Paper Plane
katiecoart
PRO
0
48k
Tell your own story through comics
letsgokoyo
1
850
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A Tale of Four Properties
chriscoyier
163
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
Bash Introduction
62gerente
615
210k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Transcript
GooglePlayͷΞοϓϩʔυ ࣗಈԽΛࢼͯ͠Έͨ VASILY,(Inc.(ງߐ 3/12ʲୈ15ճʳpotato*ps(iOS/Android։ൃTipsڞ༗ձ) ©"VASILY,"Inc.,"2015 1
ࣗݾհ • ງߐ"྄հ"@Horie1024" • ࡢ11݄͔ΒVASILYͰۈ • iQONͷ։ൃΛ୲ ©"VASILY,"Inc.,"2015 2
GooglePlayετΞ 2014ϕετΞϓϦ ©"VASILY,"Inc.,"2015 3
iQONͷ։ൃϑϩʔ • PullRequestϕʔεͷ։ൃ • releaseϒϥϯνΛ࡞͠PullRequest • releaseϏϧυΛݕূͰ֬ೝ • ϦϦʔεલʹmasterreleaseΛϚʔδ ©"VASILY,"Inc.,"2015
4
ݕূͷࣗಈԽ 1. GitHubͰPullRequestΛϚʔδ 2. CircleCI͕ϏϧυΛ։࢝ 3. SlackϏϧυͷ൱Λ௨ 4. DeployGateAPKΛΞοϓϩʔυ 5.
ݕূʹAPKͷߋ৽Λ௨ 6. APKΛΠϯετʔϧ ©"VASILY,"Inc.,"2015 5
ϦϦʔε࡞ۀ 1. relase͔ΒmasterPullRequest 2. CircleCIͰϏϧυ͠DeployGateͰ 3. ࠷ऴ֬ೝ 4. CircleCI͔ΒAPKΛμϯϩʔυ͠GooglePlayΞοϓϩʔυ 5.
ϦϦʔεྃ ©"VASILY,"Inc.,"2015 6
ϦϦʔε࡞ۀΛָʹ͍ͨ͠ • GooglePlayΞοϓϩʔυ͢Δ࡞ۀΛࣗಈԽ͍ͨ͠ ©"VASILY,"Inc.,"2015 7
ࣗಈԽͷํ๏ • GooglePlayDeveloperAPIΛ͏ • ݴޠผͰClientLibrary͕༻ҙ • h7ps:/ /developers.google.com/discovery/libraries ©"VASILY,"Inc.,"2015 8
औΓ͑ͣPythonͰࢼ͢ ©"VASILY,"Inc.,"2015 9
্ख͍ͬͨ͘ h"p:/ /qiita.com/Horie1024/items/ 0d3d50405f0b4bef1792 ©"VASILY,"Inc.,"2015 10
CircleCIͱ࿈ܞ͍ͤͨ͞ 1. masterPullRequest 2. ϚʔδΛτϦΨʔʹalphaͰGooglePlayΞοϓϩʔυ 3. alpha͔Βproduc8onʹϓϩϞʔτ͢Δ͜ͱͰϦϦʔεྃ ©"VASILY,"Inc.,"2015 11
• CircleCIͰ࣮ߦ͢Δͷ͕໘ • ֤छϥΠϒϥϦΠϯετʔϧɺґଘؔͷղܾ ©"VASILY,"Inc.,"2015 12
GradlePluginʹ͢Εྑ͍ʁ • JavaͷϥΠϒϥϦ͕༻ҙ͞ΕͯΔ • GradlePluginԽ͢ΕCircleCIͰͷ࣮ߦ؆୯ • ࡞ͬͯΈΑ͏ͱGradlePluginͷॻ͖ํΛௐ࢝ΊΔ • ॻ͚ͦ͏ʂ ©"VASILY,"Inc.,"2015
13
طʹ͋ͬͨ • gradle(play(publisher • APKΞοϓϩʔυ • Ϧιʔεཧ(ΞϓϦઆ໌จαϜωΠϧͷߋ৽) • alphaɺbetaɺproduc8onΛbuild.gradleͰࢦఆ ©"VASILY,"Inc.,"2015
14
gradle'play'publisherΛࢼ͢ • app/build.gradleʹՃ apply plugin: 'com.android.application' apply plugin: 'play' buildscript
{ repositories { mavenCentral() } dependencies { classpath ('com.github.triplet.gradle:play-publisher:1.0.2') { exclude group: 'com.google.guava' } } } android {ɾɾɾ} play { serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL' pk12File = file('KEY_PATH') track = 'alpha' } ©"VASILY,"Inc.,"2015 15
$"./gradlew"publishApkRelease ©"VASILY,"Inc.,"2015 16
CircleCI general: branches: only: - master machine: environment: ANDROID_HOME: /usr/local/android-sdk-linux
dependencies: override: - echo y | android update sdk --no-ui --filter "android-22,build-tools-22" test: override: - echo "Nothing to do here" deployment: master: branch: master commands: - ./gradlew publishApkRelease ©"VASILY,"Inc.,"2015 17
·ͱΊ • gradle(play(publisher0+0CircleCI • ؆୯ʹGooglePlayͷΞοϓϩʔυ͕ࣗಈԽͰ͖Δ ©"VASILY,"Inc.,"2015 18
VASILYͰΤϯδχΞΛืू͍ͯ͠·͢ʂ! ©"VASILY,"Inc.,"2015 19
͋Γ͕ͱ͏͍͟͝·ͨ͠ ©"VASILY,"Inc.,"2015 20