job deploy
$ copilot job deploy
概要
job deploy
はローカルのコードと設定を元に Job をデプロイします。
job deploy
は以下のステップを実行します。
image.build
が Manifest に存在する場合- ローカルの Dockerfile をビルドしてコンテナイメージを作成
--tag
あるいは git ディレクトリにいる場合は最新の git ハッシュ値を使ってコンテナイメージにタグ付け- ECR にコンテナイメージをプッシュ
- Manifest ファイルと Addon をまとめて CloudFormation テンプレートにパッケージ
- ECS のタスク定義と Job を作成/更新
フラグ
--allow-downgrade Optional. Allow using an older version of Copilot to update Copilot components
updated by a newer version of Copilot.
-a, --app string Name of the application.
--detach Optional. Skip displaying CloudFormation deployment progress.
--diff Compares the generated CloudFormation template to the deployed stack.
-e, --env string Name of the environment.
-h, --help help for deploy
-n, --name string Name of the job.
--no-rollback Optional. Disable automatic stack
rollback in case of deployment failure.
We do not recommend using this flag for a
production environment.
--resource-tags stringToString Optional. Labels with a key and value separated by commas.
Allows you to categorize resources. (default [])
--tag string Optional. The tag for the container images Copilot builds from Dockerfiles.
Info
--no-rollback
フラグは、サービスのダウンタイムを招く可能性があるため、本番環境にデプロイする場合は お勧めしません。
スタックの自動ロールバックが無効な場合にデプロイに失敗すると、次のデプロイの前に AWS コンソールまたは AWS CLI を使用してスタックのロールバックを手動で開始する必要がある場合があります。
実行例
"report-gen" という Job を "test" Environment にデプロイします。
$ copilot job deploy --name report-gen --env test
追加のリソースタグを付与して Job をデプロイします。
$ copilot job deploy --resource-tags source/revision=bb133e7,deployment/initiator=manual`
--diff
を使用して、デプロイを実行する前に、変更される内容を確認します。
$ copilot job deploy --diff
~ Resources:
~ TaskDefinition:
~ Properties:
~ ContainerDefinitions:
~ - (changed item)
~ Environment:
(4 unchanged items)
+ - Name: LOG_LEVEL
+ Value: "info"
Continue with the deployment? (y/N)
copilot job package --diff
デプロイを実行する必要がなく、差分だけを確認したい場合があります。
copilot job package --diff
は差分を表示してコマンドが終了します。