如何使用Gitlab CI/CD在aws上部署maven项目
我正在尝试使用Gitlab CI/CD在aws上部署java maven项目 这是我的.gitlab-ci.yml如何使用Gitlab CI/CD在aws上部署maven项目,maven,amazon-ec2,gitlab,gitlab-ci,Maven,Amazon Ec2,Gitlab,Gitlab Ci,我正在尝试使用Gitlab CI/CD在aws上部署java maven项目 这是我的.gitlab-ci.yml image: maven:3-jdk-8 services: - docker:dind stages: - test - build - deploy maven-test: stage: test script: - echo "Test stage" - mvn clean validate
image: maven:3-jdk-8
services:
- docker:dind
stages:
- test
- build
- deploy
maven-test:
stage: test
script:
- echo "Test stage"
- mvn clean validate compile test -B
maven-build:
stage: build
script:
- echo "Build stage"
- mvn install -B -DskipTests
artifacts:
paths:
- ./target/*.jar
maven-deploy:
stage: deploy
script:
- echo "Deploy stage"
- scp -v -o StrictHostKeyChecking=no -I "mykey.pem" ./target/*.jar ubuntu@xxxxxxx.com:*.jar
when: manual
如果我在pc中的终端上执行scp命令,那么jar将上载到aws ec2实例中,而在gitlab中,我有错误,jar不会上载
这是我使用Gitlab CI和aws的第一种方法,所以有人能一步一步地解释我需要做什么来使用Gitlab CI在aws ec2实例中部署项目吗
谢谢 由于您没有发布太多关于您的问题的信息,也没有发布错误信息,因此我只建议您关注以下几点: 从GitLab的角度来看:
maven deploy
)时,您确定“mykey.pem”在存储库中可用吗image:
指令,因此它可能在本地没有mvn/scp李>
如果您将chmod 400 mykey.pem放在scp之前,可能会解决您的问题。我的错误是'mykey.pem'的权限0666太开放如果这是您的错误,请查看此错误。它讨论了如何在AWS EC2上避免此错误。似乎如果您将
chmod 400 mykey.pem
放在scp之前,它可能会修复它。