如何使用Gitlab CI / CD在AWS上部署Maven项目

时间:2019-08-22 15:10:30

标签: maven amazon-ec2 gitlab gitlab-ci

我正在尝试使用Gitlab CI / CD在aws上部署java maven项目。

这是我的.gitlab-ci.yml

ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height)

如果我在PC的终端上执行scp命令,则jar将被上传到aws ec2实例中,而在gitlab中,我将报错并且无法上传jar。

这是我使用Gitlab CI和aws的第一种方法,因此有人可以逐步解释使用Gitlab CI在aws ec2实例中部署项目需要做什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

由于您没有就问题发布过多的信息,也没有发布错误,因此我只建议您看几件事:

从GitLab角度来看:

  1. 在gitlab-runner上运行该命令(maven-deploy)时,您确定存储库中可以使用“ mykey.pem”吗?
  2. 您是否还确定使用的是 docker gitlab-runner ,如果没有使用,则不能使用image:指令,因此可能本地没有mvn / scp。
  3. 您可能想研究dependencies指令,并确保在下一个任务中可以使用该工件。默认情况下应该这样做!

从AWS角度来看:

  1. 确保ubuntu目标机器/服务器的运行gitlab-runner的EC2机器具有端口22。

编辑:

如果您收到的错误与pem文件权限有关,请查看AWS EC2 pem file issue的分辨率。另一个类似的解决方法是here

好像您将chmod 400 mykey.pem放在scp之前,这可能会解决您的问题。