如何在 Github 和 AWS 中创建到开发、暂存和生产环境的自动部署?

How to create automatic deploys to Development, Staging and Production environments in Github and AWS?

我正在尝试为我的团队正在构建的产品实施多个环境:

1 - 生产环境 运行 Amazon ECS 上的 Docker 化应用程序。
2 - Amazon ECS 上的暂存环境 运行 一个 Docker 化的应用程序。
3 - 团队致力于新 Features/hotfixes/bugs.

的开发环境

例如,当新标签发布到主分支时,Dockerized App 应该发布到 Production。对于在主分支上进行新合并时的暂存。

我知道我们可以使用 Git Flow 和 Github Actions 来实现。 不幸的是,我找不到任何教程来教授如何自动执行此操作并将 Docker 容器部署到 Amazon ECS。

谢谢大家!

[编辑]

已找到来自 AWS 的教程

https://aws.amazon.com/pt/blogs/containers/create-a-ci-cd-pipeline-for-amazon-ecs-with-github-actions-and-aws-codebuild-tests/

Andre', this tutorial 是我能想到的最接近的。请注意,它使用 CodeCommit 而不是 GitHub,但您可以轻松修改建议的工作流程以轻松使用后者。

一般要注意imagedefinitions.json文件的创建和使用。基本上这个想法是,您使用一个模板来定义任务,并使用一个占位符作为图像名称,更具体地说是用于标签。这些是在构建发生时即时生成的,这些值保存在 imagedefinitions.json 文件中,该文件用于替换任务定义模板中的占位符。

[更新] 作为替代方案,如果您刚开始使用 ECS,我的建议是使用 AWS Copilot that allows you to do all that without you to have to create all the infrastructure on your own. These two blog posts are a good starting point for getting an idea on how the basics work and how you can add a pipeline.

之类的东西