Please enable JavaScript.
Coggle requires JavaScript to display documents.
CI/CDZito - Coggle Diagram
WHY
DevOps
DevOps란?
Development + Operation의 합성어
개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화
DevOps는 소프트웨어 제품과 서비스를 빠른 시간에 개발, 배포 하는 것을 목적으로 한다
DevOps와 관련 기술
- Agile
- ArchOps
- CI/CD
- SRE
- DevSecOps
- MSA
- 자동화
- Automation with Version Control
DevOps Tool Chain
- 빠르게 변하는 기술 환경에 대응하기 위해서
- 코딩부터 배포까지 개발 프로세스를 자동화 하기 위해서
- 새로운 기능과 수정을 빠르고 자주 릴리즈 하여 사용자 요구에 대응하기 위해서
- 오류를 빨리 감지하고 다운타임을 줄여 소프트웨어 품질을 향상하기 위해서
WHAT
CI/CD란?소프트웨어 엔지니어링에서 CI(Continuous Integration) + CD(Continuous Delivery) + CD(Continuous Deployment) 의 방식
- CI : 작은 변경사항을 메인 브렌치로 자주 병합(Build -> Test -> Merge)
- CD(Continuous Delivery) : SW를 빠른 속도와 빈도로 짧은 주기로 생산, 언제든 신뢰할 수 있는 SW를 출시할 수 있도록 함. 배포 결정을 간단하고 반복 가능한 배포 프로세스 사용
- CD(Continous Deployment) : 소프트웨어 기능이 완전히 자동으로 Roll Out
Jenkins
개념
WHAT
Jenkins란?
- 개발 프로세스를 자동화 하기 위한 오픈 소스 자동화 서버
- CI, CD를 지원한다
Jenkins 2
Pipeline-as-code 및 Jenkinsfile을 지원하는 새 버전
- Declaratice Pipeline
- DSL(Domain-Specific Language)
Jenkins
System
Controller
모든 설정,옵션,잡을 관리
잡을 실행하는 기본 노드
무거운 작업은 node에서 동작
-
-
Executor
잡을 실행하기 위한 슬롯, 에이전트의 스레드, 해당 노드에서 실행할 수 있는 동시 작업 수
-
Pipeline
-
Pipeline 예시
- checkout(clone)
- Build
- Test
- Deploy
스크립트 방식
파이프라인
스크립트 방식의 파이프라인이란?
프로그램의 흐름, 로직을 실행하기 위해 작성된 스크립트
절차적 코드 사용 가능, 프로그램 작성 방식
Jenkins가 작동하는 방식과 연관이 적음
상대적으로 코드가 복잡하다
서술적 방식
파이프라인
서술적 방식의 파이프라인이란?
일반적인 Jenkins의 웹 폼에서 구성하는 특정 구성과 작업을 정의
Jenkins의 웹 폼과 비슷
비교적 가독성이 좋고 에러 확인이 쉽다
프로그램적 요소가 없다(반복문..etc)
파이프라인의 구성지시문과 섹션을 포함하는 블록으로 구성
섹션에는 다른 섹션, 지시문, 스텝이 있을 수 있다
링크
Jenkins
실습
-
Pipeline
사용해보기
JenkinsFile을 사용해
Pipeline 사용해보기
링크
-
Jenkins with
Kubernetes
Jinkins를
Kubernetes에서 사용하기
링크