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,但它是私有的并且在网络中。
我们正在开发 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,但它是私有的并且在网络中。