GW LABS

Jenkins (1) - Jenkins와 CI/CD 본문

Infrastructure/CI&CD

Jenkins (1) - Jenkins와 CI/CD

GeonWoo Kim 2021. 7. 3. 12:43

Jenkins

프로젝트 운영을 하면서 자주 발생하는 변경사항에 따라 빌드, 테스트, 배포 하는 과정은 매우 지루하고 반복적인 업무이다. 운영업무에서 마주하게 되는 이런 불편한 점들을 해소시켜주기 위해 CI/CD 프로세스가 대두되었고, 지금에는 다양한 CI/CD 툴들이 필요에 따라 선택되고 있다. 이번 포스팅에서는 대표적인 CI 툴인 Jenkins를 알아보고 CI/CD 개념에 대해서도 정리해보자.

 


CI/CD

  • 지속적인 통합(Continuous Integration): 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 레포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식이다.
  • 지속적인 전달(Continuous Delivery): 프로덕션에 릴리즈하기 위한 코드 변경이 자동으로 준비되는 소프트웨어 개발 방식이다.

 

Jenkins

젠킨스는 대표적인 지속적 통합 서비스를 제공하는 툴이다. Git과 같은 버전관리 시스템에 추가되는 변경사항들을 통합하고 빌드, 테스트, 레포팅 등의 작업을 수행해준다. 이번 포스팅에서는 도커를 이용해 Jenkins를 사용하는 방법을 알아본다.

 

 

Jenkins 기본 사용법

 

Jenkins 기본설정

  1. 관리자 비밀번호 등록
  2. Jenkins 설치진행
  3. 계정생성

 

Jenkins Github연동

  1. Github 토큰 생성
    1. repo, admin:repo_hook 스코프를 설정해야한다.
  2. Jenkins Crediential 생성

 

Jenkins 프로젝트 생성

  1. Github 연결
  2. 빌드 트리거 설정
    1. Github에 푸시되면 Webhook 메세지를 Jenkins에 전송
  3. Github 푸시로 Webhook 확인

 

자세한 설명없이 간단한 요약만 작성했다. Github과 연동할 시에는 로컬 서버에 도커 컨테이너로 작동하고 있는 Jenkins에 접근하기가 애매하기 때문에 제대로 된 테스트는 진행하지 않았다. 기본적인 연동법을 알아봤으니 다음 포스팅에서 로컬 환경에서 동작하는 CI/CD 파이프라인을 직접 작성해보겠다.

 

 

Reference

 

Comments