如何在 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 的教程
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.
之类的东西
我正在尝试为我的团队正在构建的产品实施多个环境:
1 - 生产环境 运行 Amazon ECS 上的 Docker 化应用程序。
2 - Amazon ECS 上的暂存环境 运行 一个 Docker 化的应用程序。
3 - 团队致力于新 Features/hotfixes/bugs.
例如,当新标签发布到主分支时,Dockerized App 应该发布到 Production。对于在主分支上进行新合并时的暂存。
我知道我们可以使用 Git Flow 和 Github Actions 来实现。 不幸的是,我找不到任何教程来教授如何自动执行此操作并将 Docker 容器部署到 Amazon ECS。
谢谢大家!
[编辑]
已找到来自 AWS 的教程
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.
之类的东西