728x90
pipeline이란
소스코드 통합 / 빌드 / TEST / 배포 프로세스를 자동화 프로세스를 의미한다.

jenkis pipeline
- 용어
- 파이프라인 : 전체 빌드 프로세스를 정의하는 코드.
- 노드 node : 파이프라인을 실행하는 시스템.
- 스테이지 stage : 특정 단계에서 수행되는 작업들의 정의.
- 스텝 step : 파이프라인의 특정 단계에서 수행되는 단일 작업을 의미.
- 구성 형태
- pipeline script: 일반적인 방식이며 jenkins 파이프라인을 생성하여 shell script를 직접 생성하여 빌드
- pipeline script from SCM: 가장 많이 사용하는 방식으로, 사전 작성한 jenkinsfile을 형상관리시스템에 저장 / 빌드 시작 시 파이프라인 프로젝트에서 호출
- Blue Ocean: UI기반하여 시작적으로 파이프라인을 구성하면, Jenkinsfile 자동 생성되어 실행

- 구문
- 선언형: 쉽게 작성 가능, 최근 문법, step 필수
- 스크립트형: 커스텀 작업에 용이하나 난이도가 높음



jenkis pipeline - 실습
- 신규 item 생성 - pipeline

- Pipeline 설정 → 간단한 실습으로 pipeline script 선택
- 두개 stage로 Hello world출력 및 java 버전 확인 / Deployed successfully 출력


- Pipeline 설정 → 간단한 실습으로 pipeline script 선택
- 두개 stage로 environment에서 환경 변수 설정 / stage에서 환경 변수 설정한 내용 출력


- Pipeline 설정 → 간단한 실습으로 pipeline script 선택
- 파라미터 설정 후 빌드


- Pipeline 설정 → 간단한 실습으로 pipeline script 선택
- post(빌드 후 조치)
- always: 항상 실행
- changed: 현재 빌드의 상태가 이번 빌드의 상태와 달라졌다면 실행
- success: 현재 빌드가 성공했다면 실행
- failure: 현재 빌드가 실패했다면 실행
- unstable: 현재 빌드의 상태가 불안하다면 실행
- post(빌드 후 조치)



jenkins 를 사용하여 kubernetes resource 배포
# 사전 준비
# jenkins 사용자에서 아래 작업 진행
whoami
mkdir ~/.kube
# root 계정에서 아래 복사 실행
cp ~/.kube/config /var/lib/jenkins/.kube/config
chown jenkins:jenkins /var/lib/jenkins/.kube/config
# jenkins 사용자에서 aws eks 사용(sts 호출 등)을 위한 자격증명 설정
aws configure
AWS Access Key ID [None]: AKIA5ILF2###
AWS Secret Access Key [None]: ###
Default region name [None]: ap-northeast-2
# jenkins 사용자에서 kubectl 명령어 사용 확인
kubectl get pods -A

파이프라인으로 Deployment /Service 배포

- container build stage: github에 push된 Dockerfile를 사용하여 Image 빌드
- 생성된 image를 도커 허브에 push
- Deployment Deploy: github에 push된 deplyment.yaml을 이용하여 deployment 배포




728x90
'AEWS Study' 카테고리의 다른 글
8주차 - EKS IaC(Terraform) 실습 (0) | 2024.04.23 |
---|---|
8주차 - EKS IaC(Terraform) 이론 (0) | 2024.04.22 |
7주차 - EKS CI/CD - Jenkins(기본) (0) | 2024.04.20 |
7주차 - EKS CI/CD - ArgoCD / ArgoRollouts (1) | 2024.04.18 |
6주차 - EKS Security - Kyverno & 보안 위협 시나리오 (0) | 2024.04.14 |