[Gitlab] GitLab CI/CD, 빌드 하여 AWS S3에 업로드하기

1. AWS S3 AccessKey 생성

  • IAM 사용자 생성
  • S3FullAccess 정책 추가

2. Gitlab CI/CD 설정

  • CI/CD Variable 설정

    • 프로젝트 선택 > 설정 > CI/CD 설정 > Variables 에서 다음과 같이 변수 추가
  • .gitlab_ci.yml

    • gitlab 프로젝트 상단 경로에 ".gitlab_ci.yml"파일을 생성하고 다음 내용 입력
stages:
  - build
  - deployS3

build:
  stage: build
  image:  maven:3.8.5-jdk-11
  script:
    - echo "Building app..........."
    - mvn clean package -P <프로파일명>
    - echo "Finished building the app..!"
  artifacts:
    expire_in: 1 hour
    paths:
      - target/
  only:
  # 적용할 Branch 명
    - main

deployS3:
  stage: deployS3
  image: 
    name: amazon/aws-cli
    entrypoint: [""]
  script:
    - aws --version
    - aws s3 cp target/<빌드파일명>.jar s3://$S3_BUCKET/{업로드 할 AWS S3 경로}/

3. 결과 확인

  • Gitlab PipeLine 확인

  • AWS S3 버킷 확인

4. 기타

  • gitlab CI는 docker 이미지를 이용하여 실행 된다.
    위 스크립트에서 빌드는 maven 이미지를 이용하여 수행하고, AWS S3에 업로드는 amazon/aws-cli 이미지를 이용하여 AWS S3 CLI 명령을 사용한다.
  • artifacts 옵션을 추가 해야 다음 stage에서 빌드 수행 결과 파일을 사용할 수 있다.

좋은 웹페이지 즐겨찾기