130 Commits

Author SHA1 Message Date
hiondal
4ede9ced80 GitHub Actions CI/CD 워크플로우 원복 및 주석 오타 수정
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 20:17:55 +09:00
hiondal
dff3c83e2a test cicd 2025-09-15 20:14:39 +09:00
hiondal
da240146ac GitHub Actions CI/CD 워크플로우 주석 수정
GitHub Actions 워크플로우 파일에서 주석 일부가 손상된 부분을 수정했습니다.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 17:11:08 +09:00
hiondal
659fe4319a Kustomize Secret 파일 참조 오류 수정
- Base kustomization에서 존재하지 않는 secret-api-gateway.yaml, secret-kos-mock.yaml 참조 제거
- 환경별 Overlay에서 불필요한 Secret Patch 참조 제거
- 불필요한 Secret Patch 파일들 삭제
- Kustomize 빌드 검증 완료

Fixes GitHub Actions 파이프라인의 Kustomize 빌드 실패 문제

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 15:46:24 +09:00
hiondal
05198d4c1f GitHub Actions CI/CD 파이프라인 구축 완료
- Kustomize 기반 환경별 배포 구성 (dev/staging/prod)
- GitHub Actions 워크플로우 및 환경별 설정 파일 작성
- 수동 배포 스크립트 및 상세 가이드 문서 작성
- SonarQube 코드 품질 분석 통합 (선택적 실행)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 15:35:00 +09:00
hiondal
c376b2f326 GitHub Actions CI/CD 파이프라인 구축 완료
- Kustomize 기반 환경별 배포 자동화 구현
- dev/staging/prod 환경별 리소스 및 설정 차별화
- SonarQube 품질 분석 통합 (선택적 실행)
- 자동/수동 트리거 지원
- 수동 배포 스크립트 및 가이드 문서 제공

주요 구성 요소:
- GitHub Actions 워크플로우: .github/workflows/backend-cicd.yaml
- Kustomize 매니페스트: .github/kustomize/{base,overlays}
- 환경별 설정: .github/config/deploy_env_vars_*
- 배포 스크립트: .github/scripts/deploy-actions.sh
- 상세 가이드: .github/actions-pipeline-guide.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 15:08:49 +09:00
hiondal
f3b068d101 GitHub Actions CI/CD 파이프라인 구축 완료
- GitHub Actions 전용 Kustomize 매니페스트 생성 (.github/kustomize/)
- 환경별 Overlay 구성 (dev/staging/prod)
- Base Kustomization 및 환경별 패치 파일 작성
- GitHub Actions 워크플로우 파일 작성 (.github/workflows/backend-cicd.yaml)
- 환경별 설정 파일 및 수동 배포 스크립트 작성
- CI/CD 구축 가이드 문서 생성 (.github/deploy-actions-cicd-back.md)

주요 기능:
- 자동 빌드/테스트/배포 파이프라인
- SonarQube 코드 품질 분석 (선택적)
- 환경별 최적화 설정 (리소스, 보안, 도메인)
- ACR 기반 컨테이너 이미지 관리
- 헬스체크 및 롤백 지원
2025-09-15 12:50:04 +09:00
hiondal
6e060089f9 GitHub Actions CI/CD 전환 작업계획서 작성
- Jenkins 파이프라인 분석 완료
- GitHub Actions 전환 계획 수립
- 8-12일 일정으로 단계적 전환 방안 제시
- 5개 마이크로서비스 병렬 처리 지원
- Azure 인프라 연동 방안 포함
- 위험 요소 및 대응 방안 정리
2025-09-15 09:52:53 +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
hiondal
338ce1bd6b update jenkinsfile 2025-09-12 17:54:22 +09:00
hiondal
6e793a4155 Kustomize deployment patch 파일 구조 개선 - 서비스별 개별 파일로 분리 및 deployment-{service}-patch.yaml 명명 규칙 적용 2025-09-12 17:43:56 +09:00
hiondal
1f06b0a307 Kustomize deployment-patch 오류 해결 - 각 Deployment별 target 명시로 패치 매칭 수정 2025-09-12 17:27:05 +09:00
hiondal
6a00c5ece7 Jenkins 파이프라인 파드 자동 정리 설정 추가 - podRetention: never()로 즉시 삭제 2025-09-12 17:16:33 +09:00
hiondal
7fb0f0fc2c Jenkins 파이프라인 가이드 업데이트 - podTemplate 최적화, Kustomize 설치 개선, patch 방법 변경 반영 2025-09-12 17:12:08 +09:00
hiondal
8c8f40a00e Jenkins 파이프라인 sudo 권한 문제 해결 - kustomize를 사용자 디렉토리에 설치하도록 수정 2025-09-12 16:50:25 +09:00
hiondal
cbdf0faa14 Jenkins 에이전트 Pod에 CICD 전용 노드 tolerations 추가
- tolerations: dedicated=cicd:NoSchedule 설정 추가
- CICD 전용 노드에서만 파이프라인 실행되도록 제한
- Kubernetes 네이티브 YAML 설정으로 노드 격리 구현
- CI/CD 워크로드 전용 리소스 보장
2025-09-12 16:39:38 +09:00
hiondal
6540dc4d07 Jenkins 파이프라인 리소스 최적화: podman 컨테이너 CPU 요청량 조정 (500m) 2025-09-12 16:30:25 +09:00
hiondal
64903b1b51 Jenkins 에이전트 연결 안정성 대폭 개선
- slaveConnectTimeout: 300초로 연결 타임아웃 설정
- activeDeadlineSeconds: 3600초로 Pod 최대 실행 시간 제한
- idleMinutes: 30분으로 에이전트 재사용 설정
- 컨테이너별 리소스 제한 추가 (podman: 1-2 cores, gradle: 0.5-1 core)
- hudson.remoting.RequestAbortedException 연결 에러 해결
- Context7 기반 Jenkins Kubernetes 플러그인 모범사례 적용
2025-09-12 16:23:26 +09:00
hiondal
fd4dc944f7 Jenkins CI/CD 가이드 업데이트: services.each 루프 최적화 및 timeout 설정 반영 2025-09-12 16:09:42 +09:00
hiondal
0e9c206ae1 Jenkins 파이프라인 최적화: SonarQube 분석을 services.each 루프로 리팩토링 및 Docker 빌드 timeout 설정 추가 2025-09-12 16:05:57 +09:00
hiondal
e945db9dfe 파이프라인 빌드 오류 수정: redis.embedded 의존성을 it.ozimov로 변경 2025-09-12 15:17:43 +09:00
hiondal
2f88059309 update jenkinsfile 2025-09-12 14:58:36 +09:00
hiondal
672d82d425 Jenkins 파이프라인 변수 참조 문법 오류 수정
- 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>
2025-09-12 14:54:59 +09:00
hiondal
c7e5a86de8 Jenkins CI/CD 파이프라인 완전 구축 및 가이드 개선
- Kustomize 기반 환경별 매니페스트 구조 생성
  - Base: 공통 리소스 및 네임스페이스 설정
  - Overlays: dev/staging/prod 환경별 설정
  - Patch: 환경별 replicas, resources, 도메인 설정

- Jenkins 파이프라인 구축
  - 완전한 Jenkinsfile 작성 (빌드, 테스트, 배포)
  - SonarQube 품질 분석 및 Quality Gate 적용
  - ACR 이미지 빌드 및 푸시 자동화
  - AKS 배포 자동화

- 환경별 설정 관리
  - dev: 1 replica, 기본 리소스, HTTP
  - staging: 2 replicas, 중간 리소스, HTTPS
  - prod: 3 replicas, 고사양 리소스, HTTPS, 보안 강화

- 배포 자동화 도구
  - 수동 배포 스크립트 작성 및 실행 권한 설정
  - 롤백 방법 및 트러블슈팅 가이드 포함

- 완전한 구축 가이드 문서 작성
  - Jenkins 환경 설정 방법
  - Credentials 등록 방법
  - Pipeline Job 생성 방법
  - 배포 실행 및 모니터링 방법
  - 체크리스트 및 트러블슈팅 가이드

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 13:23:13 +09:00
hiondal
042198deb0 Jenkins CI/CD 파이프라인 완전 구축 및 가이드 개선
주요 작업:
- Kustomize 기반 환경별 배포 구조 완성 (dev/staging/prod)
- deployment-patch.yaml 개선: replicas + resources 통합 관리
- Strategic Merge Patch 형식으로 변경하여 가독성 및 유지보수성 향상
- 환경별 차등 리소스 할당 정책 적용
- Jenkins 파이프라인 스크립트 및 수동 배포 스크립트 완성
- 상세한 체크리스트 및 실수 방지 가이드 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 12:09:54 +09:00
hiondal
892f30ba44 Jenkins CI/CD 파이프라인 구축 완료
- Kustomize 기반 환경별 배포 구조 구축
  • Base 매니페스트: deployment/cicd/kustomize/base/
  • 환경별 오버레이: overlays/{dev,staging,prod}
  • 기존 k8s 매니페스트를 Kustomize 구조로 마이그레이션

- Jenkins 파이프라인 설정
  • Jenkinsfile: Pod Template, SonarQube, 배포 자동화
  • 환경별 설정 파일: config/deploy_env_vars_{env}
  • 수동 배포 스크립트: scripts/deploy.sh

- Azure 연동 설정
  • ACR (acrdigitalgarage01) 및 AKS (aks-digitalgarage-01)
  • 환경별 리소스 분리 및 보안 설정

- 완전한 구축 가이드 문서
  • deployment/cicd/jenkins-pipeline-guide.md
  • Jenkins 플러그인, RBAC, 트러블슈팅 가이드 포함

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 10:46:05 +09:00
hiondal
0f1e22c5dc 전체 서비스 빌드 설정 업데이트 및 kos-mock 데이터 동기화 2025-09-11 18:37:56 +09:00
hiondal
fb0c5da973 .gitignore에 H2 데이터베이스 파일 제외 추가: 자동 생성되는 *.db 파일들 Git 추적 제외
🔧 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 13:18:57 +09:00
hiondal
3e96b33001 KOS Mock 서비스에 CORS 설정 추가하여 브라우저 CORS 에러 해결
- SecurityConfig.java에 CORS 설정 추가
- 모든 Origin 패턴 허용 및 OPTIONS 요청 처리
- application.yml에 허용 도메인 설정 추가
- 브라우저에서 Mock 데이터 생성 API 호출 시 CORS 에러 해결
2025-09-11 13:16:51 +09:00