-> 즉, CI/CD란 각각의 개발자들이 개발을 하는 개발환경을 사용자가 사용 가능한 서비스로 전달하는 모든 과정을 지속 가능한 형태로 또 가능하다면 자동으로 해서 개발자와 사용자 사이의 격차를 없애는 것이다. 이러한 과정에는 코드를 빌드하고, 테스트하고 배포하는 활동이 있다.
파이프라인
- 파이프라인이란 CI/CD 파이프라인을 젠킨스에 구현하기 위한 일련의 플러그인들의 집합
구성 요소
- 두가지 형태의 Pipeline Syntax가 존재
- Declarative
- Scripted Pipeline
Pipeline의 Section
- Agent section
젠킨스는 많을 일을 해야 하기 때문에 혼자 하기 버겁다.
여러 slave node를 두고 일을 시킬 수 있는데, 이처럼 어떤 젠킨스가 일을 하게 할 것인지를 지정한다.
젠킨스 노드 관리에서 새로 노드를 띄우거나 혹은 docker이미지를 통해 처리할 수 있다.
쉽게 말하면 젠킨스를 이용하여 시종을 여러 명 둘 수 있는데 어떤 시종에게 일을 시킬 것이냐 하는 것을 결정하는 것이다.
예를 들어 젠킨스 인스턴스가 서버 2대에 각각 떠있는 경우, 마스터에서 시킬 것인지 slave에서 시킬 것인지를 결정할 수 있다.
젠킨스 노드만 넣을 수 있는 것이 아니라 젠킨스 안에 있는 docker container에 들어가서 일을 시킬 수도 있다.
"nodejs안에서 뭔가를 해"라고도 명령을 시킬 수 있다.
- Post section
- 스테이지가 끝난 이후의 결과에 따라서 후속 조치를 취할 수 있다.
- 각각의 단계별로 구별하면 다음과 같다.
- 성공 시에 성공 이메일, 실패하면 중단 혹은 건너뛰기 등등, 작업 결과에 따른 행동을 취할 수 있다.
Stage Section
어떤 일들을 처리할 것인지 일련의 stage를 정의한다.
일종의 카테고리라고 보면 됨.
ex) 프론트엔드 배포를 위한 스테이지, 등
Steps Section
한 스테이지 안에서의 단계로 일련의 스텝을 보여줌.
Steps 내부는 여러 가지 스텝들로 구성되며 여러 작업들을 실행 가능
플러그인을 깔면 사용할 수 있는 스텝들이 생겨남
빌드를 할 때 디렉터리를 옮겨서 빌드를 한다던가, 다른 플러그인을 깔아서 해당 플러그인의 메서드를 활용해서 일을 처리한다던지 하는 작업들을 할 수 있다.
플러그인을 설치하면 쓸 수 있는 Steps들이 많아진다.