Slide 1

Slide 1 text

AWS CodeBuild+AWS SAM(Lambda)+Slack で最⾼なAndroid CI環境を作る kr9ly(からくり)

Slide 2

Slide 2 text

⾃⼰紹介 dely株式会社のAndroidエンジニアです クラシルという料理動画のアプリの会社 最近献⽴機能も出しました 「Android Vitals徹底活⽤」というタイトルで Droid Kaigi2019で登壇します

Slide 3

Slide 3 text

AndroidのCIはビルド以外にやることが多い

Slide 4

Slide 4 text

コミット時のチェックはもちろん Dangerまわしたりとか LGTMさせたりとか(R.I.P. LGTM.in)

Slide 5

Slide 5 text

APKのビルド デバッグ⽤、アルファテスト⽤ DeployGateにアップロードしたい

Slide 6

Slide 6 text

Google Playへの公開 本番⽤ビルド(keystoreの管理問題) 難読化ファイルの⽣成、アップロード リリース管理(リリースページの作成、リリース ノートの作成)

Slide 7

Slide 7 text

UIの⾃動テスト 最近だとFirebaseTestLab AWSから呼び出しやすいのでDeviceFarm使ってま す どちらも結果をWebHookかなんかで通知してほし い…

Slide 8

Slide 8 text

割と⾊々ある ⼈間が⼿でやってるところもあるのでは︖ ⾃動化しようと思うと実際割と⾯倒

Slide 9

Slide 9 text

弊社では AWS CodeBuild AWS SAM(Lambda) Slack(bot) で⾃動化してます

Slide 10

Slide 10 text

何が最⾼だったか

Slide 11

Slide 11 text

AWS CodeBulid 1分単位の課⾦で始めやすい ECRと組み合わせるとDockerイメージの取得が爆 速 ⾜りないところを補ってあげるといい感じに働い てくれるやつ

Slide 12

Slide 12 text

AWS SAM とにかく楽、作りやすい コードをバージョン管理もしやすい デプロイもコマンド⼀発(にできる) 共通のコードベースに依存しながら、GitHubと Slackで別々のエンドポイントにしたりとか(管理 も楽) CloudFormationで⼀括管理 ...

Slide 13

Slide 13 text

はしょります

Slide 14

Slide 14 text

今⽇はCI botこう作ると便利という話をします

Slide 15

Slide 15 text

こう作ると便利 CIのトリガーはリプライにする エラーはキャッチしてSlackに通知する botに使い⽅を教えてもらう bot同⼠もSlack上でやり取りさせる

Slide 16

Slide 16 text

CIのトリガーはリプライにする リマインダーが使えて便利

Slide 17

Slide 17 text

エラーはキャッチしてSlackに通知する 開発中にはお世話になりました

Slide 18

Slide 18 text

オペミスも分かりやすい ついでに⼀笑い取れます

Slide 19

Slide 19 text

botに使い⽅を教えてもらう ほぼ毎回聞いてる気がする

Slide 20

Slide 20 text

(いい感じにヘルプ的なものが⾒せられるフォ ーマットが知りたい) ⾊々試しているけどなんかいまいち

Slide 21

Slide 21 text

bot同⼠もSlack上でやり取りさせる デバッグしやすくて便利でした、呼び出す対象が増え ても対応できそう

Slide 22

Slide 22 text

まとめ botといい感じにやり取りしてAndroid開発を楽に しよう bot作るの楽しい 最⾼になろう

Slide 23

Slide 23 text

続き(でもない)はWebで https://tech.dely.jp/entry/2018/12/01/170000 CI⽤のDockerイメージや、CloudFormationのテンプ レートファイルを共有してます [dely engineering blog]で検索

Slide 24

Slide 24 text

最後に Androidエンジニア絶賛採⽤中です