1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Amplify Consoleでドメインに紐付いているバージョンをCLIで変更する

Posted at

AWS Amplify Consoleではドメインに対してデプロイの紐付けを行うことができます。
これにより複数のバージョンをビルド・デプロイしておき、関連付けを変えるだけでバージョンの差し替えが可能です。

ウェブコンソール上で簡単に変えることもできますが、複数のアプリを一括で変更したい際や、CIに組み込んで自動で変更を行いたい場合にはAWS CLIを利用すると可能になりました。

Screen Shot 2022-04-22 at 15.10.27.png

変更自体は下記のように amplify update-domain-association を呼ぶと可能です。 

$ aws amplify update-domain-association --app-id ${APP_ID} --domain-name ${DOMAIN} \
 --sub-domain-settings "[{"branchName": "release/'v1.0.0'", "prefix": ""}]" > /dev/null
#!/usr/bin/env bash
#set -xe
set -e
# Amplifyでのブランチ関連付けを一括で変更するスクリプトです

APP_ID=xxxxxxxx  # AmplifyのアプリID

TARGET_VERSION=${1-v2.0.0} # 切り替えを行いたいバージョン
DOMAIN_SETTINGS_JSON='[{"branchName": "release/'${TARGET_VERSION}'", "prefix": ""}]'

echo ${DOMAIN_SETTINGS_JSON}

DOMAIN=$(aws amplify list-domain-associations --app-id ${APP_ID} | jq -r '.domainAssociations[].domainName' &)
VERSION=$(aws amplify list-domain-associations --app-id ${APP_ID} | jq -r '.domainAssociations[].subDomains[].subDomainSetting.branchName' &)

## 現在設定の表示
echo Current Assosiation
wait
echo ${DOMAIN}  '  => ' ${VERSION}

## 関連付けを更新
aws amplify update-domain-association --app-id ${APP_ID} --domain-name ${DOMAIN} \
 --sub-domain-settings "${DOMAIN_SETTINGS_JSON}" > /dev/null

## 変更の確認
VERSION=$(aws amplify list-domain-associations --app-id ${APP_ID} | jq -r '.domainAssociations[].subDomains[].subDomainSetting.branchName' &)
echo ${DOMAIN}     '  => ' ${VERSION}

実行するとこんな感じです。

$  ./change_amplify_version.sh v2.0.0
[{"branchName": "release/v2.0.0", "prefix": ""}]
Current Assosiation
testing.example.com   =>  hotfix/v1.12.7
Current Assosiation
Current Assosiation   =>  release/v1.12.7
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?