본문 바로가기
젠킨스

Jenkins를 활용한 CI/CD 1강 - 젠킨스(Jenkins) 이해

by SAMSUNG CLOUD-OKY 2020. 11. 17.
반응형

 

 

 

 

 

자바 - 컴파일 빌드 필요  

도커사용하면 이미지도 필요

 

 

 

- 빌드 : Webpack, Tsc, Javac

- 테스트 : Jest, junit

- 배포 : ecs update

 

 

 

 

## 기본 개념

- Java Runtime Environment 에서 동작

- 다양한 플러그인들을 활용해서 각종 자동화 작업을 처리할 수 있음

- 일련의 자동화 작업의 순서들의 집합인 Pipeline을 통해 CI/CD 파이프라인을 구축함

 

 

 

 

 

 

 

 

## 젠킨스 Plugin

- Credentials Plugin

- Git Plugin

- Pipeline

 

 

 

 

## 플러그인 살펴보기

- Credentials Plugin

  : 젠킨스는 그냥 단지 서버일뿐이기 때문에 배포에 필요한 각종 리소스에 접근하기 위해서는 여러가지 중요정보들을 

    저장하고 있어야한다.

  : 이런 중요한 정보 (AWS token, Git access token...) 들을 저장해 주는 플러그인

 

- Pipeline Plugin

  : 젠킨스의 핵심 기능인 Pipeline 을 관리할 수 있게 해주는 플러그인

 

- Docker plugin and Docker Pipeline

  : Docker agent 를 사용하고 jenkins에서 도커를 사용하기 위함

 

 

 

 

 

 

## Pipeline

- 파이프라인이란 CI/CD 파이프라인을 젠킨스에 구현하기 위한 일련의 플러그인들의 집합이자 구성

- 즉 여러 플러그인들을 이 파이프라인에서 용도에 맞게 사용하고 정의함으로써 파이프라인을 통해 서비스가 배포됨

 

 

 

 

## 두가지 형태의 Pipeline syntax가 존재

- Declarative Pipeline syntax

  : 최신이자 더 가독성이 좋은 문법

 

- Scripted Pipeline syntax

 

 

 

 

## 파이프라인 Syntax Sections

- Agent section

- Post section

- Stages section

- Steps section

 

## Agent Section

- 젠킨스는 많은 일들을 해야하기 때문에 혼자하기 버겁다.

- 여러 Slave Node 를 두고 일을 시킬수 있는데, 이처럼 어떤 젠킨스가 일을하게 할 것인지를 지정한다.

- 젠킨스 노드 관리에서 새로 노드를 띄우거나 혹은 docker 이미지등을 통해서 처리할 수 있음.

 

 

## Stages Section

- 어떤 일들을 처리할 건지 일련의 Stage를 정의함

- 빌드 스테이지, Frontend 배포 스테이지.... 

 

## Steps Section

- 한 스테이지 안에서의 단계로 일련의 스텝을 보여줌

 

 

 

## Post section

- 스테이지가 끝난 이후의 결과에 따라서 후속 조치를 취할 수 있다.

  : Success, failure, always, cleanup

 

 

 

 

## Declaratives (선언부)

- Environment

- Stage

- Options,

- Parameters,

- Triggers,

- When

 

 

 

 

 

## 3분마다 깃소스코드를 가져오라.

 

triggers {

       pollSCM('*/3 * * * *')

}

 

 

 

 

 

 

 

## prod 운영환경에서만 동작하는 조건문

 

 

 

 

 

 

 

 

 

 

 

## environment 는 환경변수를 지정해 줌

 

 

 

 

 

 

 

 

 

## Steps

- Steps 내부는 여러가지 스텝들로 구성

- 여러 작업들을 실행 가능

- 플러그인을 깔면 사용할 수 있는 스텝들이 생겨남

 

 

 

 

 

 

## Prepare 단계에서는 Git 에서 소스 가져오고, 디렉토리 변경하고, S3에 동기화 하라.

 

 

 

 

 

## 젠킨스 설치하기

 

 

 

 

 

반응형

댓글