반응형
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 : 언제 실행(조건, 분기문 등. )
반응형
'IT Knowledge > Jenkins' 카테고리의 다른 글
MultiBranches pipleline 방식 주의사항!(Branch Indexing) (0) | 2023.09.03 |
---|---|
MultiBranches Pipeline 설명 및 사용법 (0) | 2023.08.17 |
Jenkins 주기적 파이프라인 실행(build periodically) (0) | 2021.10.15 |
댓글