java—如何用gitlab ci cd克隆git存储库,或者如何在aws服务器上部署spring boot项目?

qyswt5oh  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(567)

我尝试用gitlab ci/cd部署spring boot项目。但是找不到任何能帮助我的信息。
所以,我试着找出我可以怎么做,并创建了一个aws示例并运行 gitlub-runner 在上面。
我创造了 .gitlab-ci.yml 并可以将文件复制到s3存储桶:

variables:
  S3_BUCKET_NAME: "awesome-proj"
deploy:
  script: aws s3 cp ./ s3://awesome-proj/ --acl bucket-owner-full-control --no-sign-request --recursive --exclude "*" --include "*.html"
  tags:
    - Tag1

我发现我可以以类似的方式使用控制台,并将我的项目克隆到aws服务器。我决定从git repo克隆这个项目,并用“maven”在服务器上构建它。
所以我试着克隆这个项目:

S3_BUCKET_NAME: "awesome-proj"
deploy:
  script: 
    - sudo cd /home/ec2-user/aweproject
    - sudo git init
    - sudo git clone https://gitlab.com/lTer/cicdtestdev.git
  tags:
    - Tag1

这些脚本甚至复制了一些数据一次。

第二次,我得到了错误,但现在已经不重要了。问题是我之后没有任何文件 git clone... . 所以这不是我所希望的。
如何正确使用控制台 GitLab-runner 或者将带有gitlab ci/cd的项目(springboot)部署到aws?

2ekbmq32

2ekbmq321#

原则上,您不需要克隆您的项目。当您的ci管道运行时,它已经有了相应的克隆(分支的克隆,或者ci被指示运行的主分支的克隆)。
您只需要编译然后部署。例如:

stages:
  - compile
  - deploy

compile:
  stage: compile
  script: mvn ...
  artifacts:
    paths:
      - build/
    expire_in: 1 week

deploy:
  stage: deploy
  script: aws s3 sync build/ s3://somebucket/some_place/build/

当然,在现实生活中,你可能需要有一个特定的测试阶段。

相关问题