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
Androidアプリのリリースしてますか #potatotips
Search
FUJI Goro
August 20, 2014
Technology
6
2.3k
Androidアプリのリリースしてますか #potatotips
2014/8/20 potatotips 8 at Retty
FUJI Goro
August 20, 2014
Tweet
Share
More Decks by FUJI Goro
See All by FUJI Goro
How to Boost Your Code with WebAssembly
gfx
2
2.8k
AssemblyScriptでライブラリコードの高速化をしてみる
gfx
5
3k
実践TypeScriptトークバトル
gfx
1
1.1k
歴史的経緯の説明 as code
gfx
7
2.7k
Elasticsearchによる 全文検索の実装 in Rails
gfx
6
9.4k
すばらしきGraphQLのSEKAIへようこそ
gfx
20
9.2k
マルチテナント・ウェブアプリケーションの実践
gfx
14
9.5k
How to choose the ORM on Android
gfx
1
4.2k
How Do We Get Along With Static Types
gfx
5
3.3k
Other Decks in Technology
See All in Technology
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
290
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
25
6.9k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
2
160
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
210
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
2
1.6k
Storage Browser for Amazon S3
miu_crescent
1
340
12 Days of OpenAIから読み解く、生成AI 2025年のトレンド
shunsukeono_am
0
980
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
660
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
2
420
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
1.1k
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
730
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Adopting Sorbet at Scale
ufuk
74
9.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Automating Front-end Workflow
addyosmani
1366
200k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Making Projects Easy
brettharned
116
6k
Building Applications with DynamoDB
mza
92
6.1k
Transcript
AndroidΞϓϦ ϦϦʔεͯ͠·͔͢ Fuji, Goro (gfx) at Cookpad Inc. potatotips #8
2014/8/20 in Retty ‣ YES ‣ ͍
None
ࣗݾհ • ΫοΫύουͰϞόΠϧΤϯδχΞͬͯ·͢ • Android/iOSΞϓϦ։ൃͷੜ࢈ੑ㽉㽉Λ୲ • ࠷ۙͷ • Maven Centralͱܾผ͢ΔͨΊͷweb
serviceΛͭ͘Δʂ
ΞϓϦͷϦϦʔεͯ͠·͔͢ • ϦϦʔεΤϯδχΞϦϯά(releng)ͷλεΫෳࡶ • όʔδϣϯΛઃఆͯ͠ςετͯ͠Ϗϧυͯ͠apkʹ ॺ໊ͯ͠λάΛ͏ͬͯdeploygateʹ৴ͯ͠ google playʹΞοϓϩʔυͯ͠ߋ৽ใΛΞοϓ σʔτͯ͠ެ։ઃఆͯؔ͠ऀʹΞφϯεͯ͠ ެ։͞ΕͨΒGACrashlyticsΛோΊͯͯ͢
ͳͦ͞͏Ͱ͋ΕҰଉͭ͘
՝ɿrelengͷखॱ͕ෳࡶ͗͢Δ
λεΫΛղͯ͠ΈΔ • όʔδϣϯΛదͳͷʹઃఆ͢Δ • ࣗಈςετɾlintΛ࣮ߦ͢Δ • ΫϦʔϯϏϧυ͢Δ • ϦϦʔε༻ͷॺ໊ͷઃఆΛ͢ΔʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ •
deploygate/testflightʹ৴͢Δ • Google PlayͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ • Google Playʹupload͢Δ • Google Playͷߋ৽ใΛΞοϓσʔτ͢Δ • Google PlayͰެ։ͷઃఆΛ͢Δ • ࣾʹΞφϯε͢Δ • ϦϦʔεޙʹΫϥογϡΛࢹ͢Δ
relengλεΫଟ͗͢Δ݅ • λεΫ͕ଟ͍ͱԿ͔͕ൈ͚͕ͪʹͳΔ • ྫɿʮ͋ɺversion codeͷߋ৽ΛΕͨͷ ͰϏϧυ͠ͳ͓͠·͢ʯ • Կ͔ܦݧ͠ͳ͍ͱਖ਼͍͠खॱΛ౿Ή ͷ͕ෆՄೳ
ॺ໊ͷ • ॺ໊ͷઃఆΛbuild.gradleʹॻ͘ͷ͕μϧ͍ • keystoreϑΝΠϧΛΒ·͖ͨ͘ͳ͍͔Β JenkinsͰϦϦʔε༻apkΛ࡞ΔΑ͏ʹͯ͠ ͍Δ • ͦΕ͋ͬͯ͡ΊͯϦϦʔε͢Δͱ͖ʹ߹ ܭ10ߦ΄Ͳίϐϖ͠ͳ͍ͱ͍͚ͳ͍
Google PlayͷΞοϓϩʔυ • JenkinsͷϏϧυ݁Ռ͔ΒapkϑΝΠϧΛऔಘ • औಘͨ͠apkϑΝΠϧΛplayʹΞοϓϩʔυ • ख࡞ۀͳͷͰΘΓͱ໘͍͘͞
औΓΈ
ࣗಈԽ • όʔδϣχϯάͷ -> Jenkinsͷ BUILD_NUMBERΛ͔ͭ͏ • ॺ໊ͷ -> app-unsigned.apkʹ͋ͱ͔Βsign
͢Δ • Ξοϓϩʔυͷ -> Google Play Developer APIΛ͏
όʔδϣχϯάͷ • major.minor.patch.build ͷ4ύʔπ • ݱࡏͷAndroidΞϓϦ4.0.0.1 • build෦ΛJenkinsʹࣗಈͰৼΒͤΔ
ॺ໊ͷ • build.gradleʹॺ໊ઃఆ༻ίʔυΛίϐϖ͢Δͷ͕ͩͬͨ • ॺ໊ઃఆͤͣʹϏϧυͯ͋͠ͱͰॺ໊͢ΕղܾͰ͖Δͣ • $ jarsigner -verbose -sigalg
SHA1withRSA -digestalg SHA1 - keystore ~/.android/debug.keystore -storepass android ./ app/build/outputs/apk/app-product-release-unsigned.apk androiddebugkey • http://developer.android.com/tools/publishing/app-signing.html
Ξοϓϩʔυͷ • Google Play Developer APIΛ͏ • apkͷΞοϓϩʔυ • ެ։ઃఆʢalpha
/ beta / rollout / productionʣ • εΫϦʔϯγϣοτઆ໌จͳͲͷઃఆ • εΫγϣઆ໌จΛϦϙδτϦʹೖΕͯཧͰ͖Δͧʂ • ͍͔ͭ͘gradle plugin͕։ൃ͞Ε͍ͯΔʢະݕূʣ
ࣗಈԽͷঢ়گʢ✓ʣ • ✓ όʔδϣϯΛదͳͷʹઃఆ͢ΔʢJenkinsʣ • ✓ ࣗಈςετɾlintΛ࣮ߦ͢ΔʢJenkinsʣ • ✓ ΫϦʔϯϏϧυ͢ΔʢJenkinsʣ
• ✓ ϦϦʔε༻ͷॺ໊ͷઃఆΛ͢Δʢbuild.gradleΛฤू͠ͳͯ͘Α͍ʣ • ✓ deploygate/testflightʹ৴͢ΔʢJenkinsʣ • Google PlayͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ • ✓ Google Playʹupload͢ΔʢGoogle Play Developer APIʣ • Google Playͷߋ৽ใΛΞοϓσʔτ͢Δ • Google PlayͰެ։ͷઃఆΛ͢Δ • ࣾʹΞφϯε͢Δ • ϦϦʔεޙʹΫϥογϡΛࢹ͢Δ
To be continued… • relengࣗಈԽͷՌ github.com/cookpad Ͱެ։͢Δ༧ఆͰ͢ • ଞͷࣗಈԽͰ͖ͯͳ͍ͱ͜ΖͲΜͲΜࣗಈ Խ͍͖͍ͯͨ͠
We are hiring @ Cookpad Inc. • iOS & Android
ΤϯδχΞืूத • https://info.cookpad.com/jobs/position/ios- android-app-engineer