自動化について考えてみる
自動化に必要そうなアイデアを箇条書きでまとめてみます。
- ローカルでもグローバルでもバージョン管理を行うこと
- ローカルでコミットする前に、自動でユニットテストを行うようにしておく
- ユニットテストが通らないなら、コミット出来ないようにする
- gitの場合はgit-hookのpre-commitで実装可能
- shellで実行できることなら他にもできるので、lintなどにも使える
- バージョン管理サービスにプッシュされたのをトリガーとしてビルドサービスを行う
- ビルドサービスはAWS CodeBuildくらいしかよく分かっていない。
- ビルドして、アーティファクトをダウンロードできる状態にするサービスは何がある?
- できたアーティファクトをデプロイするサービスを使う
- 例えばスマフォならDeploygateなどに送る、Google Playに送るなど?
- サーバーレスアプリならLambdaにデプロイやコンテナのアップロードなど
- この辺の動きもよく分かっていない。
- 途中で失敗したらチャットツールなどに送信する機能を使う
- ビルドが失敗した時にすぐわかる
ここまで書いてみて、コミットあたりまではある程度知見があるのですが
その後の連携はあやしそうなので、もう少し勉強しようと思います。
各サービスの連携とかを自分で作れるようになりたいですね😄