본문 바로가기
IT Knowledge/Jenkins

Jenkins CI/CD 도구 개요

by Seok. 2023. 8. 17.
반응형

Jenkins

빌드, 테스트, 배포 모든 것을 자동화 해주는 솔루션

개발자는 개발만 있도록, 개발 이후의 프로세스를 자동시켜는 솔루션

자동화 작업의 Pipeline 통해 CI/CD 파이프라인을 구축함

 

 

환경

Java Runtime Environment 위에서 동작하는 자동화 서버!

 

플러그인

플러그인이 아주 많이 존재

  • Credentials Plugin : 각종 리소스에 접근하기 위해 Credentials 정보들을 저장(AWS token, ID, PW…)
  • Git Plugin
  • Pipeline Plugin : Pipeline 관리할 있게 해주는 플러그인
  • Docker Plugin : 도커 빌드, 이미지 다운 ..
  • Kubernetes : k8s api, cli, credential k8s 관리할 있게 해주는 플러그인 ...

 

궁극적으로 Jenkins 도입해서 사용한다는 .

Pipeline 구성해서 활용하겠다는 의미

Pipeline : 여러 플러그인들을 용도에 맞게 사용하고 정의함으로 , CI/CD파이프라인을 구현

Pipeline Syntax

  • Declarative
  • Scripted Pipeline

Jenkins 통해 배포환경 관리의 핵심

인프라를 모듈화해서 어떤것이 변수인지  설정하고 이를 설계하는 

Ex. APP_ENV처럼 현재 배포하고자 하는 것이 무슨 환경인지 설정하고, 앱에서 사용하는 다양한 변수들을 APP_ENV 맞게 가져다 쓰는것이 핵심이다.

APP_ENV 각각의 환경에 맞게, 알파테스트, 베타테스트, 운영환경등에 맞게 ENV값을 다르게 적용.

 

 

Section

  • Agent Section : 여러 slave node 두고 어떤 일을 하게 할것인지 정의
  • Post Section : 스테이지가 끝난 , 결과에 따라 후속조치 정의(ex. 로깅, 메일발송 .)
  • Stages Section : 어떤 일을 처리할 것인지 정의
  • Steps Seciton : 1 스테이지 안에서 스텝 단계로 나누어서 정의

Declaratives

  • Environment : Pipeline, Stage Scope 환경 변수 설정
  • Parameter : 파이프라인 실행시 파라미터
  • Triggers : 트리거(파이프라인이 어느 분기로 실행, ex 5분에 한번 )
  • When : 언제 실행(조건, 분기문 . )

 

반응형

댓글