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
CA.apk #7 運用5年以上のAmebaアプリで取り組んでいること
Search
bowyer-app
March 26, 2019
Technology
0
260
CA.apk #7 運用5年以上のAmebaアプリで取り組んでいること
bowyer-app
March 26, 2019
Tweet
Share
More Decks by bowyer-app
See All by bowyer-app
How to make App Shortcuts
bowyer
0
38
sqlbrite with AutoValue
bowyer
1
420
Other Decks in Technology
See All in Technology
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
610
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
320
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
160
On Your Data を超えていく!
hirotomotaguchi
2
620
MapLibreとAmazon Location Service
dayjournal
1
140
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
860
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
0
320
20240416_devopsdaystokyo
kzkmaeda
1
210
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.3k
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
240
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
750
**強い**エンジニアのなり方 - フィードバックサイクルを勝ち取る / grow one day each day
soudai
64
19k
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Why Our Code Smells
bkeepers
PRO
331
56k
Making Projects Easy
brettharned
108
5.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
Designing for Performance
lara
601
67k
The Pragmatic Product Professional
lauravandoore
24
5.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
The Cult of Friendly URLs
andyhume
74
5.7k
Transcript
CA.apk #7 運用5年以上のAmebaア プリで取り組んでいること Takaya Shono
About me Takaya Shono @Amebaアプリ 2 bowyer-app BowyerApp
• Amebaアプリと僕 • 今のAmebaアプリはこんな感じ • Bitriseに移行した話←ここ本編 アジェンダ 3
Amebaアプリと僕 4 ・今のAmebaアプリは約5年ほど運用されて いる ・僕は2年ほどAndroidのブランクがある
突然ですが 5年運用しているアプリで使っ てる技術は 古いと思いませんか? 5
1. Kotlin化 71.2% 2. マルチモジュール 3. AndroidX導入済み 4. kotlinx-coroutines導入済み 5.
Android4.4切りました 6. レビューちょっと良くなりました 今のAmebaアプリはこんな感じ 6
1.Kotlin化 71.2% 2019/03/13 現在、 71.2% Kotlin化してます
2.マルチモジュール化してる マルチモジュール化してます。 2019/03/13 現在、ライブラリモジュール を含めて約30個のモジュールで構成され ています。
2019/01/10 にAndroid X導入済み 3.AndroidX導入済み
2018/08/28 に kotlinx-coroutines導入済み 4.kotlinx-coroutines 導入済み
2019/02/27 のリリースで Android4.4以下のサポートを切りました ※どうやって説得して切ることになったかなど 興味ある方は話しかけて下さい。 5.Android 4.4以下の サポート切りました https://ameblo.jp/staff/entry-12437766012.html
6.レビューちょっとよくなりました 不具合を出さないのはもちろんのこと、レビュー返信や CS連携強化によってレビュー回復してます 心の声 約4年前、「平均3.0は無謀だ」 と言われましたが、もうすぐ届きそうです ☺
5年運用している Amebaアプリですが それなりに新しいです。 13
さてここから本題 Bitriseを導入した話 14
1. Bitriseとは? 2. なぜ入れようと思ったのか? 3. 導入で何が出来るようになった? 4. 導入で困ったことは? 5. こんな工夫してます
Bitriseを導入した話 15
1. Bitriseとは? アプリに特化したCIサービス
2. なぜ入れようとしたのか?
環境移行の流れがあった • GitHub Enterprise→GitHubに移行予定があった • iOSもbitriseに移行予定があった →プロダクト全体で環境を統一しようという流れに乗っかった
ymlファイルが複雑 300行に渡るymlファイルはとても複雑で、初見ではメンテしづ らかった
3. 導入で何が出来るようになっ た?
初見でもメンテしやすくなった BitriseのWorkflowはGUIで直感的に操作できるの で、初見でもメンテしやすくなった
テスターへの配布がラク Slack通知のインストール動線からapkをインストール できるので、テスターへの配布がラクになりました。
4. 導入で困ったことは?
社内libraryが解決出来ない Bitriseから社内のmavenが解決出 来ず、ビルド出来なくなった
社内libraryを内部に持ち解決 各libraryのaarもしくはjarファイルをlibrary moduleとして内部に持たせることで、依存解 決しました
急にビルド出来なくなった 誰かが運用中のWorkflowを 直接編集したことにより、 ビルド出来なくなった → 直接編集ではなく、コピーで試してから導 入してもらうようにしました。 ただ、レビューの仕組みとか無いからつらいよ。。。
5. こんな工夫してます
Workflowの共通化 ・他のWorkflowでも使うような処理は共通処理として 定義し、再利用可能に ・prefixに「 _ 」をつけることで単体実行出来ない Workflowとして定義
並列実行 Bitrise Start Buildを使って、 Workflowを並列実行してま す。 ※本当は5つくらい実行したいのですが、iOSと 共通リソースなので2つで我慢してます。
まとめ Amebaアプリは古くない Kotlin化、マルチモジュール化、 AndroidX導入など、新しい技術いれ てます 社内libraryはlibrary moduleに 社内maven使っている場合は、aar やjarをlibrary moduleとして使いま
しょう 初見でもメンテしやすい Workflow操作はGUIなので、初見 でもメンテしやすいです 30