コンテンツにスキップ

Manifest における環境変数

シェル環境変数

シェルの環境変数を使用して、Manifest に値を渡すことが可能です。

image:
  location: id.dkr.ecr.zone.amazonaws.com/project-name:${TAG}

シェルが環境変数 TAG=version01 を持っている場合、Manifest は次のように解釈されます。

image:
  location: id.dkr.ecr.zone.amazonaws.com/project-name:version01

これにより、Copilot は id.dkr.ecr.zone.amazonaws.com/project-name の tag version01 であるコンテナイメージを利用してサービスをデプロイします。

Info

現時点では、Manifest 内の文字列型フィールドに対してのみシェル環境変数を代入できます。String (例 image.location), Array of Strings (例 entrypoint), Map で値のタイプが String (e.g., secrets) などがそれに当たります。

予約済み変数

予約済み変数は、Manifest を解釈する際に Copilot によって事前定義された環境変数です。現在、利用可能な予約済み変数は次のとおりです。

  • COPILOT_APPLICATION_NAME
  • COPILOT_ENVIRONMENT_NAME
secrets:
   DB_PASSWORD: /copilot/${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/secrets/db_password

Copilotは、${COPILOT_APPLICATION_NAME}${COPILOT_ENVIRONMENT_NAME}を、ワークロードがデプロイされたアプリケーションと環境の名前に置き換えます。 たとえば、次のように実行した場合、

$ copilot svc deploy --app my-app --env test

service のデプロイに environment を test、applicatoon を my-app と指定しているため、Copilot は /copilot/${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/secrets/db_password/copilot/my-app/test/secrets/db_password と解釈します。 (アプリケーションに秘密情報を渡す方法の詳細については、こちら)を参照してください。)