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.2k
GooglePlayへのアップロード自動化を試してみた
GooglePlayへのアップロード自動化を試す
Ryosuke Horie
March 12, 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
ErdMap: Thinking about a map for Rails applications
makicamel
1
650
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
150
php-conference-japan-2024
tasuku43
0
430
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
13
2.3k
functionalなアプローチで動的要素を排除する
ryopeko
1
210
DMMオンラインサロンアプリのSwift化
hayatan
0
190
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
為你自己學 Python
eddie
0
520
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
Flatt Security XSS Challenge 解答・解説
flatt_security
0
730
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
Featured
See All Featured
Building Your Own Lightsaber
phodgson
104
6.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Code Reviewing Like a Champion
maltzj
521
39k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
Art, The Web, and Tiny UX
lynnandtonic
298
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How to train your dragon (web standard)
notwaldorf
89
5.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
RailsConf 2023
tenderlove
29
970
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