mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2026-06-13 03:59:10 +00:00
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>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Development Environment Configuration for phonebill
|
||||
# Jenkins Pipeline Environment Variables
|
||||
|
||||
# Azure Configuration
|
||||
AZURE_RESOURCE_GROUP=rg-digitalgarage-01
|
||||
ACR_NAME=acrdigitalgarage01
|
||||
AKS_CLUSTER_NAME=aks-digitalgarage-01
|
||||
AKS_NAMESPACE=phonebill-dev
|
||||
|
||||
# Service Names
|
||||
SERVICES=api-gateway,user-service,bill-service,product-service,kos-mock
|
||||
|
||||
# Build Configuration
|
||||
GRADLE_OPTS="-Xmx2048m -XX:MaxPermSize=512m"
|
||||
JAVA_OPTS="-Xmx1024m -Xms512m"
|
||||
|
||||
# Docker Configuration
|
||||
REGISTRY_URL=${ACR_NAME}.azurecr.io
|
||||
IMAGE_TAG_PATTERN=${BUILD_NUMBER}-dev
|
||||
|
||||
# Deployment Configuration
|
||||
KUSTOMIZE_BASE=deployment/k8s
|
||||
KUSTOMIZE_OVERLAY=overlays/dev
|
||||
HEALTH_CHECK_TIMEOUT=300
|
||||
HEALTH_CHECK_RETRY=10
|
||||
|
||||
# SonarQube Configuration
|
||||
SONAR_PROJECT_KEY=phonebill-dev
|
||||
SONAR_SOURCES=.
|
||||
SONAR_EXCLUSIONS=**/target/**,**/build/**,**/*.generated.java
|
||||
|
||||
# Notification Configuration
|
||||
SLACK_CHANNEL=#phonebill-dev
|
||||
EMAIL_RECIPIENTS=dev-team@company.com
|
||||
@@ -0,0 +1,34 @@
|
||||
# Production Environment Configuration for phonebill
|
||||
# Jenkins Pipeline Environment Variables
|
||||
|
||||
# Azure Configuration
|
||||
AZURE_RESOURCE_GROUP=rg-digitalgarage-01
|
||||
ACR_NAME=acrdigitalgarage01
|
||||
AKS_CLUSTER_NAME=aks-digitalgarage-01
|
||||
AKS_NAMESPACE=phonebill-prod
|
||||
|
||||
# Service Names
|
||||
SERVICES=api-gateway,user-service,bill-service,product-service,kos-mock
|
||||
|
||||
# Build Configuration
|
||||
GRADLE_OPTS="-Xmx3072m -XX:MaxPermSize=1024m"
|
||||
JAVA_OPTS="-Xmx2048m -Xms1024m"
|
||||
|
||||
# Docker Configuration
|
||||
REGISTRY_URL=${ACR_NAME}.azurecr.io
|
||||
IMAGE_TAG_PATTERN=${BUILD_NUMBER}-prod
|
||||
|
||||
# Deployment Configuration
|
||||
KUSTOMIZE_BASE=deployment/k8s
|
||||
KUSTOMIZE_OVERLAY=overlays/prod
|
||||
HEALTH_CHECK_TIMEOUT=600
|
||||
HEALTH_CHECK_RETRY=15
|
||||
|
||||
# SonarQube Configuration
|
||||
SONAR_PROJECT_KEY=phonebill-prod
|
||||
SONAR_SOURCES=.
|
||||
SONAR_EXCLUSIONS=**/target/**,**/build/**,**/*.generated.java
|
||||
|
||||
# Notification Configuration
|
||||
SLACK_CHANNEL=#phonebill-prod
|
||||
EMAIL_RECIPIENTS=prod-team@company.com,ops-team@company.com
|
||||
@@ -0,0 +1,34 @@
|
||||
# Staging Environment Configuration for phonebill
|
||||
# Jenkins Pipeline Environment Variables
|
||||
|
||||
# Azure Configuration
|
||||
AZURE_RESOURCE_GROUP=rg-digitalgarage-01
|
||||
ACR_NAME=acrdigitalgarage01
|
||||
AKS_CLUSTER_NAME=aks-digitalgarage-01
|
||||
AKS_NAMESPACE=phonebill-staging
|
||||
|
||||
# Service Names
|
||||
SERVICES=api-gateway,user-service,bill-service,product-service,kos-mock
|
||||
|
||||
# Build Configuration
|
||||
GRADLE_OPTS="-Xmx2048m -XX:MaxPermSize=512m"
|
||||
JAVA_OPTS="-Xmx1024m -Xms512m"
|
||||
|
||||
# Docker Configuration
|
||||
REGISTRY_URL=${ACR_NAME}.azurecr.io
|
||||
IMAGE_TAG_PATTERN=${BUILD_NUMBER}-staging
|
||||
|
||||
# Deployment Configuration
|
||||
KUSTOMIZE_BASE=deployment/k8s
|
||||
KUSTOMIZE_OVERLAY=overlays/staging
|
||||
HEALTH_CHECK_TIMEOUT=300
|
||||
HEALTH_CHECK_RETRY=10
|
||||
|
||||
# SonarQube Configuration
|
||||
SONAR_PROJECT_KEY=phonebill-staging
|
||||
SONAR_SOURCES=.
|
||||
SONAR_EXCLUSIONS=**/target/**,**/build/**,**/*.generated.java
|
||||
|
||||
# Notification Configuration
|
||||
SLACK_CHANNEL=#phonebill-staging
|
||||
EMAIL_RECIPIENTS=staging-team@company.com
|
||||
Reference in New Issue
Block a user