gitlab ci/cd 部署 docker 到 aws ec2

gitlab ci/cd deploy docker to aws ec2

我们正在开发 spring 引导应用程序,该应用程序当前正在 AWS 中手动部署。为此,首先我们通过 Dockerfile 构建 docker 镜像,然后从笔记本电脑连接到 AWS EC2 实例,然后拉取镜像,然后我们使用 docker 运行 启动它。但是我们想使用 gitlab CI/CD 来自动化这个过程。 我们创建了.gitlab-ci.yml,build阶段构建了spring-boot应用并生成了jar文件。打包阶段然后使用源代码中的 Dockerfile 构建 docker 个图像,然后将图像推送到注册表。

现在我不知道如何完成部署阶段。大多数教程仅说明如何部署到 Google 云提供商。我使用以下步骤部署 docker 映像...

ssh -i "spring-boot.pem" ubuntu@ec2-IP_address.compute-2.amazonaws.com

sudo docker pull username/spring-boot:v1

sudo docker run -d -p 80:8080 username/spring-boot:v1

任何人都可以帮助我将上述步骤添加到部署阶段。我是否需要将 pem 文件添加到源中以连接到 ec2 实例。 或者有什么简单的方法可以从 gitlab ci/cd 在 ec2 中部署 docker。

首先,如果有 ssh,则意味着您必须默认提供密钥或密码,除非您允许所有人访问。

Do I need to add pem file into source to connect to ec2 instance?

是的,您应该提供 ssh 的密钥。

Or is there any easy way to deploy Docker in ec2 from gitlab ci/cd?

是的,有最简单的方法,但为此,您需要使用 ECS,专为 Docker 设计的容器,您可以通过 [=27= 管理部署] 而不是对 ec2 服务器执行 ssh。

ECS 专为 运行 Docker 容器而设计,ECS 相对于 ec2 的一些最大优势是您无需担心容器管理、可扩展性和可用性,ECS 会处理它。提供类似于 docker 注册表的 ECR,但它是私有的并且在网络中。

deploy-docker-containers