与在 S3 上部署 React 应用程序的 aws 代码管道回滚集成

sum*_*tty 3 amazon-s3 amazon-web-services reactjs aws-codepipeline

我在 AWS 中有一个代码管道,它为我的 React 应用程序执行 CI/CD 并将其部署到 s3 存储桶中。

现在我很好奇如何在这个流程中实现回滚。

我当前的代码管道流程是:

git Bucket(repo) -> 代码构建(将应用程序构建为静态托管)-> 代码部署操作(使用操作提供程序 s3)。

如果出现任何问题,我如何实现回滚到这个 CI/CD 管道?

Mar*_*cin 5

CodePipeline (CP) 没有内置的回滚机制。因此,在你的情况下,我看到三个选择

  • 如果目标 S3 存储桶已版本化,您可以通过删除每个对象的最新版本来“手动”回滚。这样,您将有效地返回到应用程序的先前部署版本。

  • 您必须以与撤销上次 PR 或提交相同的方式回滚您的bitbucket 。bitbucket 中的更改应该会触发您的 CP 进行新的部署,但来自 git 存储库的旧版本。

  • 另一种选择是让您的CodeBuild在构建新版本的应用程序时对存储桶中当前部署的文件进行备份。这样,每次运行 CP 也会将现有版本创建到其他存储桶的备份。然后回滚就像将文件从一个存储桶复制到另一个存储桶一样简单。