gitops-demo

Jenkins 학습 가이드

CI/CD 파이프라인 도구인 Jenkins를 Kubernetes 환경에서 학습합니다.

📚 목차

01. Jenkins 개요

02. Kind에 Jenkins 설치하기

03. Kubernetes Pipeline 구성

🎯 학습 목표

이 섹션을 통해 다음을 학습할 수 있습니다:

💡 권장 학습 경로

  1. 개념 이해01-overview.md
  2. 환경 구축02-kind-installation.md
  3. Pipeline 실습03-kubernetes-pipeline.md
  4. GitOps 통합:
    • Jenkins로 빌드 및 이미지 푸시
    • ArgoCD로 배포 자동화

📝 사전 요구사항

필수

권장

🚀 빠른 시작

Jenkins를 빠르게 설치하려면:

# 1. Helm Repository 추가
helm repo add jenkins https://charts.jenkins.io
helm repo update

# 2. Namespace 생성
kubectl create namespace cicd-jenkins

# 3. Jenkins 설치 (기본 설정)
helm install jenkins jenkins/jenkins -n cicd-jenkins

# 4. Admin 비밀번호 확인
kubectl exec --namespace cicd-jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo

# 5. Jenkins 접속
kubectl port-forward svc/jenkins -n cicd-jenkins 8080:8080
# http://localhost:8080

[!TIP] 프로덕션 환경에서는 영구 볼륨과 Ingress를 사용한 설치를 권장합니다. 자세한 내용은 02-kind-installation.md를 참조하세요.

📦 주요 구성 요소

Jenkins Controller

Jenkins Agent

Persistent Volume

🛠️ 주요 기능

1. Kubernetes Plugin

2. Pipeline as Code

3. 다양한 통합

4. Declarative Pipeline

💡 GitOps 워크플로우

Jenkins는 GitOps 워크플로우에서 CI(Continuous Integration) 역할을 담당합니다:

1. Developer → Git Push (코드 변경)
2. Jenkins → 자동 빌드 트리거
3. Jenkins → 테스트 실행
4. Jenkins → Docker 이미지 빌드
5. Jenkins → Container Registry에 푸시
6. Jenkins → Manifest Repository 업데이트 (이미지 태그)
7. ArgoCD → Manifest 변경 감지
8. ArgoCD → Kubernetes에 자동 배포

🔗 다음 단계

Jenkins 설치 및 설정 후:

  1. ArgoCD와 통합 - GitOps CD 구현
  2. Vault 연동 - 안전한 시크릿 관리
  3. 실제 애플리케이션 CI/CD 파이프라인 구축

📖 참고 자료

🎓 추천 도서