CI/CD に入門しました
はじめに
docker かなり初心者。AWS に Docker を利用してデプロイする方法の備忘録。
AWS は SSA を持っているけど実務経験なし、GithubActions は何も知らない。
問題
GitActions を使って Github に push されたのをトリガーにビルド・テストしデプロイする
CI/CD の基本をイメージできるようにする
基本的な流れ
- デプロイ資材
- Docker を使って環境とデプロイ資材を用意する
- DockerFile を用意する
- 環境設定
- 設定ファイルのコピー
- 環境変数の設定
- ビルドの設定
- デプロイ資材の作成
- 環境設定
- CI/CD
- GithubActions
- トリガーの設定
- タスクの設定
- イメージの作成(docker コマンド)
- ECR(AWS) へプッシュする
- Task Difinition のイメージ ID を差し替える
- デプロイする
- GithubActions
- デプロイ先
- ECS(AWS)
- Task Definition
- Task を構成するコンテナの定義
- サーバーのスペック・権限の設定
- Cluster
- 基本的にはただの箱、基盤として作成する
- Service
- 実行している Task の管理
- Task に障害発生したら Task を再起動するとか
- Task
- Task Difinition に従って作成されるコンテナ
- Task 内は複数コンテナも可能
- アプリケーションの実行単位
- Task Definition
- ECS(AWS)
おわりに
CI/CD で必要なことがイメージでき始めた。デプロイ部分のイメージがまだできていないので次は Kubernetes の勉強をする。
Docker のコマンドなんて結局使わないじゃんとか思っていたけど、CI/CD と組み合わせると普通に使う。