📝
[小ネタ] Amplify Hosting のビルド中に Amplify アプリを自己削除できるか
結論
できました。
また、ビルドプロセスは最後まで実行されることも確認できました。
検証
以下の設定で検証しました。
- Amplify Hosting の IAM ロール: AdministratorAccess 権限を付与
- Git プロバイダー: CodeCommit
- CodeCommit: index.html のみをプッシュ
- amplify.yml: 以下の通り
version: 1
frontend:
phases:
build:
commands:
- echo "Deleting Amplify app..."
- aws amplify delete-app --app-id $AWS_APP_ID
artifacts:
baseDirectory: /
files:
- '**/*'
cache:
paths: []
上記以外はデフォルト設定です。
この状態でビルドを実行したところ、ビルドログではプロジェクトの削除後もビルドが続いていました。
2025-10-08T01:00:06.132Z [INFO]: # Build environment configured with Standard build compute type: 8GiB Memory, 4vCPUs, 128GB Disk Space
2025-10-08T01:00:06.359Z [INFO]: # Cloning repository: https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test2
2025-10-08T01:00:29.217Z [INFO]:
2025-10-08T01:00:29.311Z [INFO]: Cloning into 'test2'...
remote:
remote: Counting objects: 0
remote: Counting objects: 3
remote: Counting objects: 3
remote: Counting objects: 3, done.
2025-10-08T01:00:29.312Z [INFO]: # Checking for Git submodules at: /codebuild/output/src2727490205/src/test2/.gitmodules
2025-10-08T01:00:29.316Z [INFO]: # Retrieving environment cache...
2025-10-08T01:00:29.364Z [WARNING]: ! Unable to write cache: {"code":"ERR_BAD_REQUEST","message":"Request failed with status code 404"})}
2025-10-08T01:00:29.364Z [INFO]: ---- Setting Up SSM Secrets ----
2025-10-08T01:00:29.364Z [INFO]: SSM params {"Path":"/amplify/d1j72z2p2xczwk/main/","WithDecryption":true}
2025-10-08T01:00:30.135Z [INFO]: # No package override configuration found.
2025-10-08T01:00:30.138Z [INFO]: # Retrieving cache...
2025-10-08T01:00:30.183Z [INFO]: # Retrieved cache
2025-10-08T01:00:34.214Z [INFO]: ## Starting Backend Build
## Checking for associated backend environment...
## No backend environment association found, continuing...
## Completed Backend Build
2025-10-08T01:00:34.222Z [INFO]: {"backendDuration": 0}
## Starting Frontend Build
# Starting phase: build
# Executing command: echo "Deleting Amplify app..."
Deleting Amplify app...
# Executing command: aws amplify delete-app --app-id $AWS_APP_ID
2025-10-08T01:00:35.456Z [INFO]: {
"app": {
"appId": "d1j72z2p2xczwk",
"appArn": "arn:aws:amplify:ap-northeast-1:012345678901:apps/d1j72z2p2xczwk",
"name": "test2",
"repository": "https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test2",
"platform": "WEB",
"createTime": 1759885184.674,
"updateTime": 1759885184.674,
"iamServiceRoleArn": "arn:aws:iam::012345678901:role/service-role/AmplifyCodeCommitRole-18893ee4-1bc9-4242-9fe7-fef26c4b1132",
"defaultDomain": "d1j72z2p2xczwk.amplifyapp.com",
"enableBranchAutoBuild": false,
"enableBranchAutoDeletion": false,
"enableBasicAuth": false,
"customRules": [
{
"source": "/<*>",
"target": "/index.html",
"status": "404-200"
}
],
"productionBranch": {
"status": "RUNNING",
"branchName": "main"
},
"buildSpec": "version: 1\nfrontend:\n phases:\n build:\n commands:\n - echo \"Deleting Amplify app...\"\n - aws amplify delete-app --app-id $AWS_APP_ID\n artifacts:\n baseDirectory: /\n files:\n - \"**/*\"\n cache:\n paths: []\n",
"customHeaders": "",
"enableAutoBranchCreation": false,
"repositoryCloneMethod": "SIGV4",
"cacheConfig": {
"type": "AMPLIFY_MANAGED_NO_COOKIES"
},
"jobConfig": {
"buildComputeType": "STANDARD_8GB"
}
}
}
2025-10-08T01:00:35.544Z [INFO]: # Completed phase: build
## Completed Frontend Build
2025-10-08T01:00:35.555Z [INFO]: ## Build completed successfully
2025-10-08T01:00:35.556Z [INFO]: # Starting caching...
2025-10-08T01:00:35.556Z [INFO]: Nothing to cache
2025-10-08T01:00:35.556Z [INFO]: # Caching completed
2025-10-08T01:00:35.560Z [INFO]: # Starting build artifact upload process...
2025-10-08T01:00:36.751Z [INFO]: # Uploading build artifact '__artifacts.zip'...
2025-10-08T01:00:36.853Z [INFO]: # Build artifact upload completed
2025-10-08T01:00:36.853Z [INFO]: # Starting environment caching...
2025-10-08T01:00:36.854Z [INFO]: # Environment caching completed
まとめ
今回は Amplify Hosting のビルド中に Amplify アプリを自己削除できるかという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion