0. 개요
해당 웹 페이지를 지속적인 통합(Build -> Test -> Packaging)을 통하여 프로젝트가 원활하게 잘 작동되는지 검증하고 프로젝트를 지속적인 배포를 통하여 원활한 서비스가 가능하도록 합니다.
1. 작업 흐름도
① 해당 작업물에 대해서 Github에 Push를 합니다.
② Github Repository 특정 branch에 push가 되면 Github Action이 동작을 시작합니다.
③ Github Actions가 Github Container Registry에 소스를 받은 후 Docker 이미지로 빌드를 합니다.
④ 빌드된 이미지를 EC2에 등록된 Runner가 복사합니다.
** 해당 사항 Front까지 배포 후, Back과 연결이 되면 재작성
2. 설정 파일
** front 작업 후, 설정 예정
3. Git Action vs Jenkins
•
Git action :
◦
장점 :
1.
github와의 간단한 연결
2.
소규모 프로젝트에 적절한 CI/CD 구축 비용과 방법
3.
서버가 필요 없는 작업
◦
단점 :
1. github에 종속적 // 다른 CI 도구와 연동하는 것이 제한입니다.
2. 대규모 프로젝트에 적절하지 않은 플러그인 제공
•
Jenkins :
◦
장점 :
1.
다양한 플러그인 제공 및 대규모 커뮤니티
2.
확장성
// Jenkins는 로컬 서버에 설치 가능 = 대규모 프로젝트의 확장성
◦
단점 :
1. 유지 보수 필요
// Jenkins는 로컬 서버에 설치됨으로 주기적인 유지 보수와 업데이트가 필요합니다.
2. Jenkins의 설정 난이도
// Jenkins의 설정은 플러그인과 맞춤 설정이 다양하기에 많은 지식이 필요합니다.
4. 트러블 슈팅
Gradle vs Maven 설정 문제
test