DevOps/CICD 팔아요

[젠킨스_CICD] 젠킨스 파이프라인 & 젠킨스 파일

bomsbro 2021. 12. 21. 22:30

젠킨스란?

  • 젠킨스 아이템의 종류에는 프리스타일과 파이프라인이 있다. 옛날에는 프리스타일로 아이템을 구성했지만, 요즘은 파이프라인으로 많이들 구성한다.

젠킨스 파이프라인 아이템: 설정 파일로 동작하는 젠킨스 아이템

  • scripted pipeline;declarative pipeline 차이점?

continuous integration & continuous delivery & continuouse deployment using automation trigger

  • continous integration(CI): 코드 -> 애플리케이션 테스트 -> 인테그레이션 테스트
  • continous delevery(CD): 코드 -> 애플리케이션 테스트 -> 인테그레이션 테스트 -> 액셉턴스 테스트
  • continous deployment(CD): 코드 -> 애플리케이션 테스트 -> 인테그레이션 테스트 -> 액셉턴스 테스트 -> 프로덕션
  • automation triger: 일정 주기 트리거, scm 푸시 트리거 등.. 빌드를 유발하는 다양한 요인들
    (출처: Test Craft)
  • 간단하게 build -> deploy -> test -> release의 순서로 구성된다.

젠킨스 파이프라인 아이템 작성법

  • step1: Start jenkins
  • step2: intall pipeline plugin(최신 버전의 젠킨스는 파이프라인+여러 플러그인들이 기본으로 설치되어 있다.)
  • step3: create a new item on dashboard
  • step4: create jenkins file on the pipeline section in the jenkins item
  • step5: run and check the output

create a new item on dashboard

  • 젠킨스 파이프라인 아이템은 다음으로 구성된다.
    • general:깃헙프로젝트로 세팅 등등 기본세팅을 함
    • build trigger:
    • advenced project options: 프로젝트 네임을 넣을 수 있다.
    • pipeline: 여기가 진짜 부분이다. 여기에 파이프라인을 작성하는 것이다.

젠킨스 파일: Pipeline as a code: 스크립트를 작성할 필요가 없이 설정파일

  • pipeline 섹션에서 젠킨스 파일을 작성해서 생성한다.
  • 2가지 옵션이 있는데, 젠킨스 파이프라인 스크립트를 그냥 pipeline에서 작성할 수도 있고 scm에서 pull해서 실행할 수도 있다.
  • 젠킨스 스크립트 작성 옆에보면 셀렉트 박스가 있는데 거기서 샘플코드를 골라서 바로 볼 수도 있다.

step1: Start jenkins
step2: intall pipeline plugin(최신 버전의 젠킨스는 파이프라인+여러 플러그인들이 기본으로 설치되어 있다.)
step3: create a new item on dashboard

젠킨스 파일은 groovy script로 작성된다!

pipeline: 가장 바깥에 있는 파이프라인 자체를 정의해주는 태그(메인같은거임 노드의 경우는 node라고 하는데 왜인지?)
agent: 특정 에이전트??? 가 있을 때 지정
stages: 여러 스테이지들을 지정하는 공간
stage: build -> deploy -> test -> release의 순서로 구성된다. preparation, result 내가 필요한 모든 이름을 정의가능
steps: 실제 동작하는 스크립트.

** Pipeline Sysntax: 내가 필요한 스크립트를 생성을 해주는 기능이다. 내가 막 알아보는게 아니고 복붙하는 것이다.
** build a job같이 다른 잡들 자체도 스크립트에 포함할 수 있다.

stage view

  • 빌드 결과를 표시해주는 공간. 스텝 별 걸린 시간과 결과(색깔)를 표시해준다.
  • 에러 확인시 들어가서 콘솔 아웃풋을 확인한다. 이게 중요하다.젠킨스 파일을 구현하는 법
  • 초록색박스를 클릭하면 각 스텝별 로그도 볼 수 있다!