簡體   English   中英

如何使用 GitLab CI-CD 克隆 git 存儲庫或如何在 AWS 服務器上部署 spring-boot 項目?

[英]How to clone git repository with GitLab CI-CD or how to deploy spring-boot project on AWS server?

我嘗試使用 GitLab CI/CD 部署 spring-boot 項目。 但是找不到任何可以幫助我的信息。

所以,我試圖弄清楚我該怎么做,並創建了一個 AWS 實例並在其上運行gitlub-runner

我創建了.gitlab-ci.yml並且可以將文件復制到 S3-bucket:

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 存儲庫中克隆該項目,並使用“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 將項目(spring-boot)部署到 AWS?

原則上,您不需要克隆您的項目。 當您的 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/

當然,在現實生活中,您可能希望有一個特定的測試階段等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM