Jenkins - 젠킨스 이해

CI/CD 파이프라인의 기본 개념

  • CI (Continous Integration) : 지속적 통합
    • Continous : 자동화 : 코딩을 마칠때마다 지속적으로해줌
    • 보통 Git과 같은 버전 컨트롤 시스템을 사용해서 각자가 작업한 코드들을 출시할 결과물로 통합
    • 이 과정에서 각 구성원의 코드를 받아 합치기 전에 코드에 문제가 없는지 확인하는 과정이 없으면 실제로 서비스가 배포되고 나서 문제가 발생 (작성 코드 결함 오류 or Merge conflict)
    • 여러 개발자들이 작업함으로써에 대한 문제를 방지하려면 이러한 통합작업을 수시로, 지속적, continuous하게 해야함
    • 그래서 이러한 과정을 자동화하는 도구와 서비스
  • CD (Continuous Delivery/Deployment) : 지속적 배포
    • 최종 사용자에게 넘겨주는 실행 가능하도록하는 단계
    • CI 가 성공적으로 이루어지면 CD가 이루어짐
  • CI/CD
    • 프로그래머들이 소프트웨어를 코딩하고나서 이를 최종 배초까지 하는 과정에서 진행되는 일들 (자동화)

Jenkins

  • Jenkins : CI/CD 의 대표적인 tool
  • 젠킨스
    • 설치형 CI/CD tool
    • 컴퓨터나 서비스가 돌아갈 서버에 직접 다운받고 깔아서쓰는 도구 젠킨스를 깔아서 실행하면, 해당 컴퓨터나 서버의 주소로 크롬등의 브라우저로 접속할 수 있는 웹사이트가 하나 열림
    • 서버의 아이피 주소에 젠킨스 기본 포트 8080으로 접속하고 지정해둔 아이디/비밀번호 입력시 다양한 CI/CD 작업들을 세팅할 수 있는 page 나옴
  • Process
    • 컴퓨터에서 코딩한 것을 원격에 push만하면 jenkins가 깔린 서버로까지 전송
    • (CI)코드에 문제가 없는지 테스트코드에 지정된 테스트를 돌려서 확인
    • 이 테스트가 실패할 경우 지정된 메일 주소로 이메일 전송
    • (CD)이전 작업들에서 문제가 없다면 실행되도록 설정한 다음 파일들에서 프로젝트를 배포용 파일로 빌드한 다음 원하는 폴더로 옮겨서 돌고있던 서비스를 중지하고 이 파일로 새 서비스를 실행하는 명령어를 스크립트로 실행

Categories:

Updated: