尝试使用Github,Docker,ECR和EC2在AWS上设置CI / CD

因此标题说明了一切。我正在尝试提出创建CI / CD工作流的解决方案。我试图创建的工作流程大致如下: Github存储我们的代码和Dockerfile,每次推送到master时,ECR都会拉入我们构建的映像。然后,ECR基于(最新)标记将新生成的映像推送到EC2,然后将该实例路由到DNS并创建我们的Web服务器。

我已经为所有存储库构建了Docker映像,然后构建得很好。 Github动作也已设置,并在进行推送时使用标签(最新)将新图像推送到ECR。这一切都很好。我的盲点是..如何处理ECR图像?如何托管它们并将它们公开指向DNS?我知道ECS,但我更喜欢EC2,但我在任何地方都找不到任何答案。谢谢大家的帮助!

iCMS 回答:尝试使用Github,Docker,ECR和EC2在AWS上设置CI / CD

您已将ECS正确标识为该用例的适当服务。使用ECS,您仍然可以选择将容器托管在EC2上。您可能会选择这样做是出于多种原因,例如是否要访问主机,已经拥有预留实例,需要GPU实例等。请详细了解here

通过使用ECS,您可以省去将容器管理到AWS的开销,例如将日志路由到CloudWatch,在一个更大的主机上托管多个容器并自动平衡负载等。

要将域名指向您的服务,可以使用Application Load Balancer(ALB)后面的ECS。进一步了解here

最后,就CICD管道而言,探索AWS Codepipeline。与ECS配对后,您可以轻松配置部署策略,例如“蓝色/绿色部署”,“自动回滚”等。进一步了解here

本文链接:https://www.f2er.com/1934216.html

大家都在问