Обычный фрагмент развертывания AWS Cloudformation CodePipeline выглядит следующим образом:
- Name: CreateChangeSet
ActionTypeId:
Category: Deploy
Owner: AWS
Version: '1'
Provider: CloudFormation
Configuration:
ActionMode: CHANGE_SET_REPLACE
RoleArn: ...
StackName: ...
ChangeSetName: deploy-commit
TemplatePath: ...
Capabilities: CAPABILITY_IAM
InputArtifacts:
- Name: ...
RunOrder: 1
- Name: ExecuteChangeSet
ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormation
Version: '1'
Configuration:
ActionMode: CHANGE_SET_EXECUTE
ChangeSetName: deploy-commit
RoleArn: ..
StackName: ...
RunOrder: 2
Мы создаем набор изменений и выполняем. Есть ли шаблон или способ, с помощью которого мы можем получить уникальный ChangeSetName
для каждого нового выпуска. Причина CHANGE_SET_REPLACE
удаляет предыдущий и создает новый с тем же именем, и поэтому мы потеряли историю.