自動化について考えてみる

自動化に必要そうなアイデアを箇条書きでまとめてみます。

  • ローカルでもグローバルでもバージョン管理を行うこと
    • ローカルのツールはgitが慣れているのでgitか
    • グローバルの候補はGithub,BitBucket,AWS CodeCommit?
  • ローカルでコミットする前に、自動でユニットテストを行うようにしておく
    • ユニットテストが通らないなら、コミット出来ないようにする
    • gitの場合はgit-hookのpre-commitで実装可能
    • shellで実行できることなら他にもできるので、lintなどにも使える
  • バージョン管理サービスにプッシュされたのをトリガーとしてビルドサービスを行う
  • ビルドサービスはAWS CodeBuildくらいしかよく分かっていない。
  • できたアーティファクトをデプロイするサービスを使う
    • 例えばスマフォならDeploygateなどに送る、Google Playに送るなど?
    • サーバーレスアプリならLambdaにデプロイやコンテナのアップロードなど
    • この辺の動きもよく分かっていない。
  • 途中で失敗したらチャットツールなどに送信する機能を使う
    • ビルドが失敗した時にすぐわかる

ここまで書いてみて、コミットあたりまではある程度知見があるのですが

その後の連携はあやしそうなので、もう少し勉強しようと思います。

各サービスの連携とかを自分で作れるようになりたいですね😄