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
270
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
41
sqlbrite with AutoValue
bowyer
1
440
Other Decks in Technology
See All in Technology
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
360
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
750
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
RSCの時代にReactとフレームワークの境界を探る
uhyo
11
3.5k
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Facilitating Awesome Meetings
lara
55
6.5k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Designing Experiences People Love
moore
142
24k
Fireside Chat
paigeccino
39
3.6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building Adaptive Systems
keathley
43
2.7k
Building an army of robots
kneath
306
46k
Unsuck your backbone
ammeep
671
58k
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