project : 모든 작업의 정의와 순서를 모아 둔 전체 작업

item : project를 정의 하고 생성하는 것 + 프로젝트 외에 실제로 작업에 도움이 되는 내용들을 정의하는 것

아이템이 할수 있는 작업

  1. Freestyle project

    : 자유도가 높다 초심자도 사용하기 편하다. but 복잡한 작업을 구성하기에 한계가 있고 작성한 내용의 명세서를 저장하는 별도의 과정이 없기 때문에 공유가 힘들다.

  2. Pipeline

    : 젠킨스가 지원하는 고유한 파이프라인 문법으로 코드를 작성해 작업을 정의하는 프로젝트, 사용법을 미리 숙지해야한다는 점에서 프리스타일 보다는 진입장벽이 있지만 복잡한 작업을 하는 것이 가능

  3. multi-configuration project

    : 하나의 소스코드를 여러 조건의 조합으로 나온 경우의 수에 해당하는 환경에 동시에 배포하는 프로젝트

  4. Multibranch Pipeline

    : 하나의 소스코드 저장소에 존재하는 여러 브랜치를 품질 검증, 테스트, 빌드 등의 작업을 수행 할수 있게 한다.

5.4.1 Freestyle로 간단히 echo-ip 배포하기

순서 요약

  1. 깃허브에서 echo-ip를 빌드할 정보가 담긴 파일들을 내려받기
  2. 받은 파일들을 이용해서 컨테이너 이미지를 빌드
  3. 빌드한 이미지를 레지스트리에 저장
  4. 레지스트리에 저장한 이미지를 쿠버네티스 클러스터에 디플로이먼트로 생성하고 로드밸런서 서비스로 노출

5.4.2 pipeline프로젝트로 echo-ip 배포하기

젠킨스의 파이프라인은 연속적인 작업을 코드 또는 파일로 정의해주는 젠킨스 기능

→ 파이프라인 문법을 통해 젠킨스는 코드로 작성한 내용이 실제로 동작하는 작업이 되는 코드로서의 파이프라인(Pipeline as Code)을 구현 가능