-
리로이 젠킨스 CI/CD 구현 1스파르타코딩클럽/최종프로젝트 - DevQuiz 2024. 1. 25. 00:22
도커컴포즈로 나름 배포도 되고 있기 때문에 이제 셀프 배포를 벗어난 배포 자동화를 구현하여야 했다.
깃허브액션을 사용하여 쉽게 CI/CD를 적용할지, 러닝커브는 크지만 한번 해두면 든든한 젠킨스로 해볼지
고민이 많았으나, CI/CD에 집중할 수 있는 여건이 되어 젠킨스를 한번 사용해 보기로 하였다.
젠킨스에 대해
젠킨스 파이프라인 : 자동화 작업의 순서를 정의한 스크립트 언어
Declarative(선언적) 방식 또는 스크립트 파이프라인 구성방식
젠킨스 파이프라인 섹션
Agent Section
- 여러 슬레이드 노드를 사용할 경우 어떤 노드에 일을 시킬 것인지 지정
또는 노드뿐만 아니라 젠킨스 내부 도커 컨테이너에서 수행할 명령 지정도 가능
Stage Section
- 어떤 일을 처리할 것인지 정의 (카테고리)
ex. 백엔드 배포를 위한 스테이지 정의
Steps Section
- 특정 스테이지 안에서의 작업 순서를 정의
- 플러그인 설치 시 사용가능한 스텝 생성
Post Section
- 스테이지 종료 후 결과에 따른 후속조치
기존 젠킨스 UI에 있는 설정들은 구글링으로도 충분히 적용할 수 있었다.
1. 젠킨스 관리 - Credentials 생성
젠킨스 시크릿키를 사용한 credentials 생성
도커허브, 깃허브 토큰을 사용하여 credentials 생성
2. 젠킨스 관리 - 플러그인 설치
publish over ssh - ssh를 통해 파일전 송 및 원격 시스템에서 스크립트 실행 가능
generic webhook trigger - 웹훅을 통해 젠킨스 작업을 트리거함.
github integration - 깃허브와 젠킨스를 통합하여 깃허브에서 발생하는 이벤트를 감지하여 젠킨스 작업 트리거
docker pipeline - 도커를 이용한 CI/CD 파이프라인을 구성하기 위해 필수
젠킨스파일 내에서 도커명령어 사용가능
도커 이미지 빌드, 배포 수행 가능
git parameter - 깃태그를 사용한다면 설치
이후 파이프라인 생성 시에 파라미터를 입력하면 됨
3. 깃허브 레포지토리 세팅에서 Webhook 설정
Payload URL 에
해당 젠킨스 URL/github-webhook/ 입력
Content type
application/json 으로 변경
다음글에는
젠킨스 파이프라인 생성과 트러블 슈팅에 대해 작성할 예정이다.
'스파르타코딩클럽 > 최종프로젝트 - DevQuiz' 카테고리의 다른 글
리로이 젠킨스 CI/CD 구현 3 (1) 2024.01.29 리로이 젠킨스 CI/CD 구현 2 (0) 2024.01.26 도커파일부터 도커컴포즈까지 (1) 2024.01.21 코인 저장 로직 리팩토링 - 퀴즈와 연결 (0) 2024.01.19 도커 컴포즈와 CI/CD 구현 계획 (0) 2024.01.17