Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS CodeBuild+AWS SAM(Lambda)+Slack で最⾼なAndroid CI環境を作る

kr9ly
December 11, 2018

AWS CodeBuild+AWS SAM(Lambda)+Slack で最⾼なAndroid CI環境を作る

kr9ly

December 11, 2018
Tweet

More Decks by kr9ly

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. UIの⾃動テスト
    最近だとFirebaseTestLab
    AWSから呼び出しやすいのでDeviceFarm使ってま

    どちらも結果をWebHookかなんかで通知してほし
    い…

    View Slide

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

    View Slide

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

    View Slide

  10. 何が最⾼だったか

    View Slide

  11. AWS CodeBulid
    1分単位の課⾦で始めやすい
    ECRと組み合わせるとDockerイメージの取得が爆

    ⾜りないところを補ってあげるといい感じに働い
    てくれるやつ

    View Slide

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

    View Slide

  13. はしょります

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide