[Gitlab] GitLab CI/CD, 빌드 하여 AWS S3에 업로드하기
1. AWS S3 AccessKey 생성
- IAM 사용자 생성
- S3FullAccess 정책 추가
2. Gitlab CI/CD 설정
-
CI/CD Variable 설정
- 프로젝트 선택 > 설정 > CI/CD 설정 > Variables 에서 다음과 같이 변수 추가
- 프로젝트 선택 > 설정 > 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에서 빌드 수행 결과 파일을 사용할 수 있다.
Author And Source
이 문제에 관하여([Gitlab] GitLab CI/CD, 빌드 하여 AWS S3에 업로드하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chanyeong_kil/Gitlab-GitLab-CICD-빌드-하여-AWS-S3에-업로드하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)