我们正在开发Spring Boot应用程序,目前手动部署在AWS上。为此,我们首先通过Dockerfile构建Docker镜像,然后从笔记本连接到AWS EC2实例,然后拉取镜像,最后使用docker run启动它。但是,我们想使用Gitlab CI/CD自动化这个过程。
我们创建了.gitlab-ci.yml文件,build阶段构建Spring Boot应用程序并生成jar文件。Package阶段使用源代码中的Dockerfile构建Docker镜像,然后将镜像推送到注册表。
现在我不知道如何完成deploy阶段。大多数教程只解释如何部署到Google云提供商。我使用以下步骤来部署Docker镜像...
我们创建了.gitlab-ci.yml文件,build阶段构建Spring Boot应用程序并生成jar文件。Package阶段使用源代码中的Dockerfile构建Docker镜像,然后将镜像推送到注册表。
现在我不知道如何完成deploy阶段。大多数教程只解释如何部署到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轻松部署Docker到EC2是否存在更简便的方法。
mssh
连接到基于 IAM 用户的实例,而无需管理 SSH 密钥。但正如 Adiii 所提到的,ECS 和 Fargate 可以让您部署容器而无需管理虚拟机。如果您的设置比较复杂,您可能还想了解 Kubernetes。 - Owen Johnson