66 Commits

Author SHA1 Message Date
ondal
608d467691 Jenkinsfile에서 SonarQube Analysis stage 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:57:17 +09:00
ondal
81ad3d1624 Jenkinsfile Blue Ocean progress bar 표시 문제 수정
- tolerations 설정 추가 (front와 동일)
- Stage 이름 'Setup Kubernetes2' → 'Setup Kubernetes' 변경
- skipSonarQube 체크를 문자열 비교로 변경
- SonarQube stage에 script 블록 및 try-catch 추가
- Quality Gate 실패 시 경고 후 계속 진행하도록 변경

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:46:28 +09:00
ondal
698c146393 Jenkinsfile에 Setup Kubernetes2 스테이지 추가
- namespace 생성 스테이지 복원

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:29:20 +09:00
ondal
696f9a4fc6 kustomization.yaml에서 commonLabels 제거
- app, version 레이블 중복 적용 방지

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:28:33 +09:00
ondal
250f5943ea Jenkinsfile props.namespace 변수 참조 개선
- Setup Kubernetes 스테이지 제거 (사용자 수정 반영)
- Update Kustomize & Deploy 스테이지에서 namespace 변수 로컬 정의

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:03:55 +09:00
ondal
3d8ee6802c Jenkinsfile Setup Kubernetes 스테이지에 로깅 추가
- Blue Ocean에서 스테이지 상태가 명확히 표시되도록 echo 문 추가
- 시작/완료 로그로 진행 상황 가시성 개선

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 13:52:55 +09:00
ondal
9dc1bfb926 Jenkinsfile SKIP_SONARQUBE 파라미터 기본값 설정
- SKIP_SONARQUBE 파라미터 기본값을 'true'로 설정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 13:31:58 +09:00
ondal
ab27787951 Jenkinsfile에서 kubectl context 설정 제거
- kubectl config use-context 명령 제거 (Jenkins 환경에서 불필요)
- deploy_env_vars_dev에서 context 변수 제거

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 13:26:15 +09:00
ondal
0f054109bb Jenkins CI/CD 파이프라인 업데이트
- Jenkinsfile 개선: SonarQube 분석, Quality Gate 추가
- 환경별 설정 파일 업데이트 (dev/staging/prod)
- Kustomize base 및 overlay 파일 정리
- prod 환경 overlay 파일 추가
- 배포 스크립트 및 검증 스크립트 업데이트
- 파이프라인 가이드 문서 업데이트

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 12:57:35 +09:00
ondal
b467b84426 Jenkinsfile kubectl 이미지를 azure-kubectl로 변경
- kubectl 컨테이너 이미지를 hiondal/azure-kubectl:latest로 변경
- Azure 환경 지원을 위한 이미지 교체

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:33:25 +09:00
ondal
37136c6669 Jenkinsfile에서 SonarQube 분석 스테이지 제거
- SonarQube Analysis & Quality Gate 스테이지 삭제
- 빌드 파이프라인 단순화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:24:05 +09:00
ondal
1711363e91 Jenkinsfile kubectl 이미지 변경
- bitnami/kubectl → lachlanevenson/k8s-kubectl로 변경
- non-root 사용자 권한 문제 해결

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:16:01 +09:00
ondal
606108d85f Jenkinsfile에서 tolerations 설정 제거
- CI/CD Pod에서 불필요한 tolerations 설정 제거
- dedicated=cicd 노드 제약조건 해제

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:12:29 +09:00
ondal
ff940a676b Jenkinsfile에 cloud 파라미터 추가
- podTemplate에 cloud: 'k8s' 설정 추가
- Jenkins Kubernetes 클라우드 설정과 연결

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:07:04 +09:00
ondal
aac5710766 Jenkinsfile에서 불필요한 context 스위치 제거
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:57:57 +09:00
ondal
f12fed5de9 Jenkins 기반 CI/CD 파이프라인 구성
- 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>
2025-12-01 10:23:32 +09:00
ondal
a99b121545 Jenkins 백엔드 CI/CD 파이프라인 템플릿 추가
- SonarQube 개별 서비스별 Quality Gate 처리 방식 적용
- 각 서비스별 withSonarQubeEnv wrapper 개별 적용
- 타임아웃 5분으로 조정 및 상세 로깅 추가
- ArgoCD 방식과 Kustomize 방식 모두 지원하는 템플릿
2025-10-01 00:07:45 +09:00
ondal
5b48c22ad0 Jenkins SonarQube 파이프라인 개선: 각 서비스별 개별 Quality Gate 처리
- withSonarQubeEnv wrapper를 각 서비스별로 개별 적용
- Quality Gate 확인을 서비스별로 순차 처리
- sonar.java.binaries와 sonar.coverage.jacoco.xmlReportPaths 경로 정확히 지정
- 'No previous SonarQube analysis found' 오류 해결
- 각 단계별 상세 로깅 추가
2025-09-30 23:54:37 +09:00
ondal
d4dcbd1dfa Jenkins ArgoCD 파이프라인 이미지 태그 생성 로직 개선
- 이미지 태그 생성 방식 변경
  * 기존: 고정값 "dg0500"
  * 개선: "dg0500-{타임스탬프}" 형태로 유니크 태그 생성
  * getImageTag() 함수 활용한 동적 태그 생성

- 배포 추적성 향상
  * 각 빌드별 고유한 이미지 태그 생성
  * ArgoCD에서 배포 이력 추적 용이
  * 롤백 시 정확한 버전 식별 가능

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 23:28:29 +09:00
ondal
0e66613c2a ArgoCD 통합 CI/CD 파이프라인 개선
- 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>
2025-09-30 23:08:35 +09:00
ondal
bebf1f5581 ArgoCD 통합 CI/CD 파이프라인 추가
- 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>
2025-09-30 21:49:46 +09:00
ondal
f15fe45870 Jenkins CI/CD 파이프라인 구축 완료
- 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>
2025-09-30 21:24:21 +09:00
ondal
f5543bf0ef GitHub Actions CI/CD 파이프라인 구축 완료
- 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>
2025-09-30 20:48:48 +09:00
hiondal
04dd8c9643 add cicd pipeline 2025-09-30 16:29:45 +09:00
hiondal
e21d65ae48 add cicd pipeline 2025-09-30 15:41:08 +09:00
hiondal
c5089d59b5 Jenkins ArgoCD 파이프라인 매니페스트 업데이트 로직 개선
- 매니페스트 레포지토리 클론 로직 추가
- 각 서비스별 이미지 태그 자동 업데이트 (sed 명령 사용)
- Git 인증 정보를 활용한 안전한 푸시 구현
- 배포 완료 메시지 및 ArgoCD 자동 배포 안내

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 02:09:37 +09:00
hiondal
15d8d220e7 Kustomize 구조 정리 및 ArgoCD 파이프라인 개선
- 중복된 namespace.yaml 파일 제거
- Kustomization 파일 정리 및 최적화
- Jenkinsfile_ArgoCD 파일 위치 정리
- GitHub Actions 워크플로우 개선

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 01:55:57 +09:00
hiondal
587af7bbc8 ArgoCD 연동 CI/CD 파이프라인 구축
- GitHub Actions: 백엔드 서비스 자동 배포 워크플로우 추가
- Jenkins Pipeline: ArgoCD 연동 파이프라인 구성
- 컨테이너 빌드 및 이미지 푸시 자동화
- ArgoCD 자동 동기화 설정

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 00:53:16 +09:00
hiondal
7ce7b17553 test cicd 2025-09-13 19:55:46 +09:00
hiondal
3cbf56066f SonarQube 단계 가시성 개선 및 String Parameter 지원
- SonarQube 단계가 항상 파이프라인에 표시되도록 구조 변경
- String Parameter로 SKIP_SONARQUBE 처리하도록 로직 수정
- 파라미터 디버깅 출력 강화로 동작 상태 명확화
- 백엔드 CI/CD 가이드에 모든 변경사항 반영
2025-09-13 16:37:42 +09:00
hiondal
13460fd930 SKIP_SONARQUBE 기본값을 true로 변경
- SonarQube 분석을 기본적으로 건너뛰도록 설정
- 필요시에만 false로 설정하여 품질 분석 실행
2025-09-13 15:33:42 +09:00
hiondal
8064def373 Scripted Pipeline 문법 오류 수정
- when 지시어를 if 문으로 변경하여 Scripted Pipeline 호환성 확보
- SonarQube 조건부 실행을 위한 올바른 문법 적용
- 백엔드 CI/CD 가이드에 동일한 문법 반영
2025-09-13 15:32:23 +09:00
hiondal
d596780a64 Jenkins 파이프라인 단계 구조 개선
- Build와 SonarQube Analysis 단계 분리
- SonarQube Analysis와 Quality Gate 통합
- SKIP_SONARQUBE 파라미터로 조건부 실행 구현
- 백엔드 CI/CD 가이드에 수정사항 반영
2025-09-13 15:22:17 +09:00
hiondal
f6a3c9850c Kustomize base 설정 정리 - commonLabels 제거
- Base kustomization에서 commonLabels 섹션 제거
- 환경별 네임스페이스로 충분한 리소스 분리 구현
- 모든 환경 빌드 검증 완료

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-13 02:19:24 +09:00
hiondal
0a97dc4835 Kustomize 레이블 구조 최적화 완료
- Base에 system: phonebill 공통 레이블 추가
- 환경별 overlay에서 중복 labels 설정 제거
- 파일 끝 줄바꿈 정리로 일관성 확보
- 모든 환경 Kustomize 빌드 검증 완료

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-13 02:00:53 +09:00
hiondal
141126423b Kustomize 설정 최적화 - 불필요한 레이블 제거
- Base kustomization에서 commonLabels 제거
- DEV overlay에서 labels 설정 제거
- 파일 끝 줄바꿈 정리

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-13 01:48:33 +09:00
hiondal
7f8593fb71 Jenkins CI/CD 파이프라인 완전 구축 완료
- 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>
2025-09-13 01:00:04 +09:00
hiondal
e72f7ac9f6 Kustomize Strategic Merge Patch 에러 수정
- 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>
2025-09-12 22:45:13 +09:00
hiondal
725635fadd Jenkins CI/CD 파이프라인 구축 완료
- Kustomize 기반 환경별 배포 구성 (dev/staging/prod)
- Jenkins 파이프라인 with SonarQube 품질 게이트
- 파드 자동 정리 및 보안 강화 설정
- 환경별 차등 리소스 할당 및 도메인 설정
- 수동 배포 및 검증 스크립트 제공
- 5개 마이크로서비스 병렬 빌드/배포 지원

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 22:29:40 +09:00
hiondal
d12d8c0838 Jenkins 파이프라인 파드 정리 문제 해결
- 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>
2025-09-12 21:56:16 +09:00
hiondal
641ecb8826 update jenkinsfile 2025-09-12 21:46:18 +09:00
hiondal
50667687f5 Jenkins 쉘 호환성 문제 해결 - 최종 완성
- 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>
2025-09-12 21:26:59 +09:00
hiondal
85ef46a3d1 Jenkins Bash 배열 변수 충돌 해결
- 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>
2025-09-12 21:14:11 +09:00
hiondal
125de3b6e2 Kustomize 작업 디렉토리 문제 해결
- 모든 명령을 단일 sh 블록에서 실행하여 작업 디렉토리 유지
- Bash 배열과 for 루프로 서비스 처리 방식 변경
- Jenkins 쉘 세션 분리로 인한 kustomization.yaml 인식 오류 해결
- PATH 환경변수와 cd 명령 효과가 모든 후속 명령에 지속 적용

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 21:03:19 +09:00
hiondal
97117b6ec4 Jenkins 문법 오류 수정
- sh 블록과 Groovy 코드 분리하여 파싱 에러 방지
- kustomize 설치/이미지 업데이트/배포 확인을 명확한 단계로 구분
- 각 sh 블록이 독립적으로 실행되도록 구조화
- Jenkins DSL 문법 준수로 안정적인 파이프라인 보장

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 20:51:51 +09:00
hiondal
2eea6c17b5 Jenkins Kustomize 명령어 개선
- kustomize 명령어를 명시적 경로(/Users/dreamondal/bin/kustomize) 사용
- 이미지 태그 업데이트를 반복문으로 리팩토링
- 배포 상태 확인도 반복문으로 개선
- 서비스 추가/삭제 시 유지보수성 향상

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 20:45:21 +09:00
hiondal
c90253efd6 Jenkins 가이드 Docker Hub 자격증명 설정 보강
- Docker Hub Credentials 필수 설정 명확화
- Rate Limit 해결을 위한 자격증명 등록 방법 강조
- Jenkins 관리자 수행 작업 구체화

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 19:34:41 +09:00
hiondal
dfa0ab8c0c Docker 이미지 빌드 오류 해결
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>
2025-09-12 19:25:20 +09:00
hiondal
291306f5c7 Jenkins CI/CD 파이프라인 구축 완료
- 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>
2025-09-12 19:09:05 +09:00
hiondal
c9d99b34d6 Jenkins post 블록 DSL 오류 해결 - Scripted Pipeline 방식에 맞게 일반 stage로 변경 2025-09-12 18:06:07 +09:00