Я развертываю приложение в AWS с помощью подключаемого модуля CloudFormation для Azure DevOps.
Он работает очень хорошо и автоматически обновляет то, что нужно изменить, оставляя другие вещи в покое. Я работал над этим несколько дней, и он отлично работает.
Однако при внесении небольшого изменения я только что увидел следующую ошибку:
Test for existence of change set Dev-TV-API-ChangeSet-Release-42 returned error: 'Stack [Dev-TV-API-NoAuth] does not exist'.
Это выглядело немного странно, поэтому я подумал, что, возможно, у него проблемы с определением того, что нужно изменить. Поэтому я решил удалить стек вручную и повторно запустить конвейер. Теперь я получаю точно такую же ошибку. Стек отображается в AWS со статусом REVIEW_IN_PROGRESS
- и единичное событие.
Есть идеи, что здесь может происходить?
Полный журнал:
2020-07-30T14:17:27.5715771Z Test for existence of change set Dev-TV-API-ChangeSet-Release-42 returned error: 'Stack [Dev-TV-API-NoAuth] does not exist'.
2020-07-30T14:17:27.5718700Z Loading template file from 'D:\a\r1\a\_TV CI\drop\package.yml'
2020-07-30T14:17:27.5724733Z Loading template parameters file 'D:\a\r1\a\_TV CI\drop\api.parameters.dev.json'
2020-07-30T14:17:27.5731008Z Successfully loaded template parameters
2020-07-30T14:17:27.5733302Z Setting capability CAPABILITY_IAM for stack
2020-07-30T14:17:27.5733902Z Setting capability CAPABILITY_NAMED_IAM for stack
2020-07-30T14:17:27.5734434Z Setting capability CAPABILITY_AUTO_EXPAND for stack
2020-07-30T14:17:27.5735777Z Creating CREATE type change set Dev-TV-API-ChangeSet-Release-42
2020-07-30T14:17:27.8132789Z Waiting for change set Dev-TV-API-ChangeSet-Release-42 to be validated for stack Dev-TV-API-NoAuth
2020-07-30T14:17:58.3348363Z Change set creation request failed with error: 'Stack Dev-TV-API-NoAuth failed to create successfully from the change set Dev-TV-API-ChangeSet-Release-42. Error: 'Resource is not in the state changeSetCreateComplete'' Error: Stack Dev-TV-API-NoAuth failed to create successfully from the change set Dev-TV-API-ChangeSet-Release-42. Error: 'Resource is not in the state changeSetCreateComplete'
2020-07-30T14:17:58.3355531Z at .<anonymous> (D:\a\_tasks\CloudFormationCreateOrUpdateStack_7ef7cdfa-aa45-42c5-93c8-d7603643dd99\1.7.0\CloudFormationCreateOrUpdateStack.js:2:4039841)
2020-07-30T14:17:58.3356313Z at next (native)
2020-07-30T14:17:58.3357470Z at o (D:\a\_tasks\CloudFormationCreateOrUpdateStack_7ef7cdfa-aa45-42c5-93c8-d7603643dd99\1.7.0\CloudFormationCreateOrUpdateStack.js:2:4028532)
2020-07-30T14:17:58.3359409Z at process._tickDomainCallback (internal/process/next_tick.js:135:7)
2020-07-30T14:17:58.3489430Z ##[error]Error: Stack Dev-TV-API-NoAuth failed to create successfully from the change set Dev-TV-API-ChangeSet-Release-42. Error: 'Resource is not in the state changeSetCreateComplete'
2020-07-30T14:17:58.3772097Z ##[section]Finishing: Create/Update Stack: Dev-TV-API-NoAuth
Оказывается, что часть проверки, которая происходит перед развертыванием шаблона, регистрируется в другом месте. Итак, хотя я видел эту ошибку в журнале задач и ничего особенного на странице информации о стеке AWS, на уровне стека есть вкладка «Наборы изменений», на которой перечислены неудачные наборы изменений. Если вы нажмете на это, вы увидите причину статуса, описывающую ошибку, которая должна помочь с отладкой.