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
Ryosuke Horie
March 12, 2015
Programming
6
8.5k
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
49
GitHub Copilot Use Cases at ZOZO
horie1024
1
2.4k
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
28k
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.1k
既存画面の 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.6k
Other Decks in Programming
See All in Programming
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
290
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
130
gunshi
kazupon
1
140
チームをチームにするEM
hitode909
0
450
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
320
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
320
Vibe codingでおすすめの言語と開発手法
uyuki234
0
170
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
210
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
340
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
730
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.9k
GitHub's CSS Performance
jonrohan
1032
470k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
410
Exploring anti-patterns in Rails
aemeredith
2
220
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
32
The Curious Case for Waylosing
cassininazir
0
200
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Git: the NoSQL Database
bkeepers
PRO
432
66k
Statistics for Hackers
jakevdp
799
230k
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