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

Rollback integration with aws code pipeline which is deploying a React app on S3

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

现在很好奇这个流程怎么实现回滚

我当前的代码流水线是:

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

如果出现任何问题,我该如何回滚到此 CI/CD 管道?

CodePipeline (CP) 没有 build-in 回滚机制。因此,在您的情况下,我看到 三个选项:

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

  • 你必须在你的 bitbucket 上回滚,就像你撤销上次 PR 或提交一样。 bitbucket 中的更改应该触发您的 CP 进行新部署,但是来自 git 存储库的旧版本。

  • 另一个选项可能涉及您的 CodeBuild 在构建新版本的应用程序时对存储桶中当前部署的文件进行备份。这样,CP 的每个 运行 也会创建现有版本到其他存储桶的备份。那么 roll-back 就像将文件从一个存储桶复制到另一个存储桶一样简单。