- podTemplate에 cloud: 'k8s' 설정 추가
- Jenkins Kubernetes 클라우드 설정과 연결
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Kustomize 기반 환경별(dev/staging/prod) 매니페스트 관리
- Jenkins 파이프라인 스크립트 작성 (Podman, Gradle, kubectl 컨테이너)
- SonarQube 코드 품질 분석 및 Quality Gate 연동
- 수동 배포 및 리소스 검증 스크립트 추가
- k8s 매니페스트 구조 재정리 (configmaps, secrets, deployments, services 분리)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- withSonarQubeEnv wrapper를 각 서비스별로 개별 적용
- Quality Gate 확인을 서비스별로 순차 처리
- sonar.java.binaries와 sonar.coverage.jacoco.xmlReportPaths 경로 정확히 지정
- 'No previous SonarQube analysis found' 오류 해결
- 각 단계별 상세 로깅 추가
- 이미지 태그 생성 방식 변경
* 기존: 고정값 "dg0500"
* 개선: "dg0500-{타임스탬프}" 형태로 유니크 태그 생성
* getImageTag() 함수 활용한 동적 태그 생성
- 배포 추적성 향상
* 각 빌드별 고유한 이미지 태그 생성
* ArgoCD에서 배포 이력 추적 용이
* 롤백 시 정확한 버전 식별 가능
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- GitHub Actions 워크플로우 최적화
* YAML 들여쓰기 표준화
* 매니페스트 레포지토리 업데이트 로직 개선
* Kustomize 기반 이미지 태그 업데이트
- Jenkins ArgoCD 파이프라인 개선
* AKS 설정 단계 제거 (GitOps 방식)
* sed 명령 기반 매니페스트 직접 업데이트
* 변경사항 확인 로직 추가
- GitOps 워크플로우 최적화
* 매니페스트 레포지토리 직접 조작
* ArgoCD 자동 동기화 대응
* 환경별 배포 자동화 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- GitHub Actions + ArgoCD 워크플로우 추가
* backend-cicd_ArgoCD.yaml: GitHub Actions 기반 CI/CD
* Jenkinsfile_ArgoCD: Jenkins + ArgoCD 통합 파이프라인
- GitOps 방식 배포 지원
* 소스코드와 배포 매니페스트 분리
* ArgoCD 자동 동기화 및 배포
* 환경별 GitOps 레포지토리 관리
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Kustomize 기반 환경별 배포 구조 구성
* Base: 공통 매니페스트 (29개 파일)
* Overlays: dev/staging/prod 환경별 설정 (39개 파일)
* 환경별 리소스 및 보안 정책 차별화
- Jenkins 파이프라인 구현
* JDK 21, Podman, Kustomize 통합
* SonarQube 품질 분석 및 Quality Gate
* 환경별 이미지 태그 및 배포 자동화
* Pod 자동 정리로 리소스 최적화
- 운영 도구 및 스크립트
* 수동 배포 스크립트 (deploy.sh)
* 리소스 검증 스크립트 (validate-resources.sh)
* 환경별 설정 파일 관리
- 완전한 가이드 문서
* Jenkins 설정 및 Credentials 등록 방법
* SonarQube 연동 및 Quality Gate 설정
* 배포 실행 및 트러블슈팅 가이드
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- GitHub Actions 전용 Kustomize 매니페스트 구조 생성
- 환경별(dev/staging/prod) Overlay 및 Patch 파일 작성
- SonarQube 코드 품질 분석 통합
- Docker 이미지 빌드 및 Azure Container Registry 푸시
- Kubernetes 자동 배포 워크플로우 구성
- 수동 배포 스크립트 및 구축 가이드 문서 추가
주요 기능:
- 자동 배포: Push/PR 시 dev 환경 자동 배포
- 수동 배포: 환경 선택 가능한 워크플로우 트리거
- 환경별 최적화: dev(1 replica), staging(2 replicas), prod(3 replicas)
- 보안 설정: staging/prod HTTPS, JWT 토큰 유효시간 조정
- 롤백 지원: GitHub Actions, kubectl, 수동 스크립트
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 매니페스트 레포지토리 클론 로직 추가
- 각 서비스별 이미지 태그 자동 업데이트 (sed 명령 사용)
- Git 인증 정보를 활용한 안전한 푸시 구현
- 배포 완료 메시지 및 ArgoCD 자동 배포 안내
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 중복된 namespace.yaml 파일 제거
- Kustomization 파일 정리 및 최적화
- Jenkinsfile_ArgoCD 파일 위치 정리
- GitHub Actions 워크플로우 개선
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- GitHub Actions: 백엔드 서비스 자동 배포 워크플로우 추가
- Jenkins Pipeline: ArgoCD 연동 파이프라인 구성
- 컨테이너 빌드 및 이미지 푸시 자동화
- ArgoCD 자동 동기화 설정
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Base kustomization에서 commonLabels 섹션 제거
- 환경별 네임스페이스로 충분한 리소스 분리 구현
- 모든 환경 빌드 검증 완료
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Base에 system: phonebill 공통 레이블 추가
- 환경별 overlay에서 중복 labels 설정 제거
- 파일 끝 줄바꿈 정리로 일관성 확보
- 모든 환경 Kustomize 빌드 검증 완료
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Base kustomization에서 commonLabels 제거
- DEV overlay에서 labels 설정 제거
- 파일 끝 줄바꿈 정리
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Kustomize 기반 환경별 매니페스트 관리 시스템 구축
- Base 매니페스트 및 환경별(dev/staging/prod) Overlay 작성
- Strategic Merge Patch → Patch 형식으로 업데이트
- Jenkinsfile 파드 자동 정리 기능 적용
- 배포 스크립트 및 검증 스크립트 작성
- 상세 구축 가이드 문서 작성
- 모든 환경 Kustomize 빌드 검증 완료
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Deployment 패치 파일의 따옴표 제거 (15개 파일)
- 리소스 설정을 Kubernetes YAML 표준 형식으로 변경
- dev/staging/prod 환경별 패치 호환성 개선
- Strategic Merge Patch 충돌 문제 해결
수정 내용:
- memory: "256Mi" → memory: 256Mi
- cpu: "256m" → cpu: 256m
- 모든 환경에서 kustomize 빌드 성공 검증 완료
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Kustomize 기반 환경별 배포 구성 (dev/staging/prod)
- Jenkins 파이프라인 with SonarQube 품질 게이트
- 파드 자동 정리 및 보안 강화 설정
- 환경별 차등 리소스 할당 및 도메인 설정
- 수동 배포 및 검증 스크립트 제공
- 5개 마이크로서비스 병렬 빌드/배포 지원
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- podRetention 설정 수정: 'never' → never()
- idleMinutes 1분으로 단축하여 빠른 정리
- terminationGracePeriodSeconds: 3으로 즉시 종료
- restartPolicy: Never로 재시작 방지
- try-catch-finally 블록 추가로 명시적 정리 보장
- 전체 코드 indentation 정리로 가독성 향상
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Bash 배열 문법을 POSIX 호환 공백 구분 문자열로 변경
- 모든 쉘 환경(/bin/sh, /bin/bash, /bin/dash)에서 안정적 동작 보장
- 'syntax error: unexpected ((' 에러 완전 해결
- 가이드에 쉘 호환성 문제와 해결책 상세 설명 추가
- Jenkins 컨테이너 환경에 무관하게 범용 적용 가능한 안정적 파이프라인 완성
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Groovy 'services' 변수와 Bash 'services' 배열 이름 충돌 방지
- Bash 배열명을 'svc_list'로 변경하여 syntax error 해결
- 가이드에 변수 충돌 방지 방법과 문제해결 섹션 추가
- Jenkins 파이프라인 안정성 향상 및 범용 적용 가능
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 모든 명령을 단일 sh 블록에서 실행하여 작업 디렉토리 유지
- Bash 배열과 for 루프로 서비스 처리 방식 변경
- Jenkins 쉘 세션 분리로 인한 kustomization.yaml 인식 오류 해결
- PATH 환경변수와 cd 명령 효과가 모든 후속 명령에 지속 적용
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- sh 블록과 Groovy 코드 분리하여 파싱 에러 방지
- kustomize 설치/이미지 업데이트/배포 확인을 명확한 단계로 구분
- 각 sh 블록이 독립적으로 실행되도록 구조화
- Jenkins DSL 문법 준수로 안정적인 파이프라인 보장
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- kustomize 명령어를 명시적 경로(/Users/dreamondal/bin/kustomize) 사용
- 이미지 태그 업데이트를 반복문으로 리팩토링
- 배포 상태 확인도 반복문으로 개선
- 서비스 추가/삭제 시 유지보수성 향상
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Docker Hub Credentials 필수 설정 명확화
- Rate Limit 해결을 위한 자격증명 등록 방법 강조
- Jenkins 관리자 수행 작업 구체화
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
1. JDK 버전 일치성 문제 해결
- Dockerfile OpenJDK 23 → Eclipse Temurin 21로 변경
- 프로젝트 JDK 21과 일치시킴
2. Docker Hub Rate Limit 해결
- Jenkinsfile에 Docker Hub 로그인 추가
- dockerhub-credentials 자격증명 설정 필요
- eclipse-temurin 이미지로 변경하여 안정성 향상
3. Jenkins 가이드 업데이트
- Docker Hub Credentials 설정 방법 추가
- Rate Limit 문제 해결 방안 제시
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Kustomize 기반 환경별 매니페스트 구성 (dev/staging/prod)
- Base 및 Overlay 구조로 환경별 설정 분리
- 각 환경별 Deployment, Service, ConfigMap, Secret 패치 적용
- Jenkinsfile 작성 (Gradle JDK21, SonarQube, Quality Gate 포함)
- 환경별 설정 파일 및 수동 배포 스크립트 생성
- Jenkins CI/CD 가이드 문서 및 검증 스크립트 작성
- DEV 환경 Ingress Host를 base와 동일하게 수정 (체크리스트 준수)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- slaveConnectTimeout: 300초로 연결 타임아웃 설정
- activeDeadlineSeconds: 3600초로 Pod 최대 실행 시간 제한
- idleMinutes: 30분으로 에이전트 재사용 설정
- 컨테이너별 리소스 제한 추가 (podman: 1-2 cores, gradle: 0.5-1 core)
- hudson.remoting.RequestAbortedException 연결 에러 해결
- Context7 기반 Jenkins Kubernetes 플러그인 모범사례 적용
- Groovy 변수를 bash shell에서 사용 시 올바른 문법으로 변경
- 잘못된 형태: \${variable} → 올바른 형태: ${variable}
- 수정된 Stage별 변수 참조:
- Setup AKS: props.resource_group, props.cluster_name, environment
- SonarQube Analysis: 모든 서비스별 projectKey의 environment 변수
- Container Build: service, environment, imageTag 변수
- Kustomize Deploy: environment, imageTag 변수 및 kubectl 명령어
- bash shell에서 "syntax error: bad substitution" 오류 해결
- Jenkins 파이프라인 정상 실행 가능하도록 문법 표준화
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>