diff --git a/.github/workflows/backend-cicd_ArgoCD.yaml b/.github/workflows/backend-cicd_ArgoCD.yaml index 2cfd9fb..adaced7 100644 --- a/.github/workflows/backend-cicd_ArgoCD.yaml +++ b/.github/workflows/backend-cicd_ArgoCD.yaml @@ -218,37 +218,37 @@ jobs: runs-on: ubuntu-latest steps: - - name: Set image tag environment variable - run: | - echo "IMAGE_TAG=${{ needs.build.outputs.image_tag }}" >> $GITHUB_ENV - echo "ENVIRONMENT=${{ needs.build.outputs.environment }}" >> $GITHUB_ENV + - name: Set image tag environment variable + run: | + echo "IMAGE_TAG=${{ needs.build.outputs.image_tag }}" >> $GITHUB_ENV + echo "ENVIRONMENT=${{ needs.build.outputs.environment }}" >> $GITHUB_ENV - - name: Update Manifest Repository - run: | - # 매니페스트 레포지토리 클론 - REPO_URL=$(echo "https://github.com/cna-bootcamp/phonebill-manifest.git" | sed 's|https://||') - git clone https://${{ secrets.GIT_USERNAME }}:${{ secrets.GIT_PASSWORD }}@${REPO_URL} manifest-repo - cd manifest-repo + - name: Update Manifest Repository + run: | + # 매니페스트 레포지토리 클론 + REPO_URL=$(echo "https://github.com/cna-bootcamp/phonebill-manifest.git" | sed 's|https://||') + git clone https://${{ secrets.GIT_USERNAME }}:${{ secrets.GIT_PASSWORD }}@${REPO_URL} manifest-repo + cd manifest-repo - # Kustomize 설치 - curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash - sudo mv kustomize /usr/local/bin/ + # Kustomize 설치 + curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash + sudo mv kustomize /usr/local/bin/ - # 매니페스트 업데이트 - cd phonebill/kustomize/overlays/${{ env.ENVIRONMENT }} + # 매니페스트 업데이트 + cd phonebill/kustomize/overlays/${{ env.ENVIRONMENT }} - # 각 서비스별 이미지 태그 업데이트 - services="api-gateway user-service bill-service product-service kos-mock" - for service in $services; do - kustomize edit set image acrdigitalgarage01.azurecr.io/phonebill/$service:${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }} - done + # 각 서비스별 이미지 태그 업데이트 + services="api-gateway user-service bill-service product-service kos-mock" + for service in $services; do + kustomize edit set image acrdigitalgarage01.azurecr.io/phonebill/$service:${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }} + done - # Git 설정 및 푸시 - cd ../../../.. - git config user.name "GitHub Actions" - git config user.email "actions@github.com" - git add . - git commit -m "🚀 Update phonebill ${{ env.ENVIRONMENT }} images to ${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }}" - git push origin main + # Git 설정 및 푸시 + cd ../../../.. + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + git add . + git commit -m "🚀 Update phonebill ${{ env.ENVIRONMENT }} images to ${{ env.ENVIRONMENT }}-${{ env.IMAGE_TAG }}" + git push origin main - echo "✅ 매니페스트 업데이트 완료. ArgoCD가 자동으로 배포합니다." \ No newline at end of file + echo "✅ 매니페스트 업데이트 완료. ArgoCD가 자동으로 배포합니다." \ No newline at end of file diff --git a/deployment/cicd/Jenkinsfile_ArgoCD b/deployment/cicd/Jenkinsfile_ArgoCD index 4a91a31..87b8586 100644 --- a/deployment/cicd/Jenkinsfile_ArgoCD +++ b/deployment/cicd/Jenkinsfile_ArgoCD @@ -91,17 +91,6 @@ podTemplate( props = readProperties file: "deployment/cicd/config/deploy_env_vars_${environment}" } - stage("Setup AKS") { - container('azure-cli') { - withCredentials([azureServicePrincipal('azure-credentials')]) { - sh """ - az login --service-principal -u \$AZURE_CLIENT_ID -p \$AZURE_CLIENT_SECRET -t \$AZURE_TENANT_ID - az aks get-credentials --resource-group ${props.resource_group} --name ${props.cluster_name} --overwrite-existing - kubectl create namespace phonebill-dg0500 --dry-run=client -o yaml | kubectl apply -f - - """ - } - } - } stage('Build') { container('gradle') { @@ -192,22 +181,19 @@ podTemplate( git clone https://\${GIT_USERNAME}:\${GIT_TOKEN}@\${REPO_URL} manifest-repo cd manifest-repo - # Kustomize 설치 - curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash - mkdir -p \$HOME/bin && mv kustomize \$HOME/bin/ - export PATH=\$PATH:\$HOME/bin - - # 환경별 매니페스트 업데이트 - cd phonebill/kustomize/overlays/${environment} - - # 각 서비스별 이미지 태그 업데이트 + # 각 서비스별 이미지 태그 업데이트 (sed 명령 사용) services="api-gateway user-service bill-service product-service kos-mock" for service in \$services; do - \$HOME/bin/kustomize edit set image acrdigitalgarage01.azurecr.io/phonebill/\$service:${environment}-${imageTag} + echo "Updating \$service image tag..." + sed -i "s|image: acrdigitalgarage01.azurecr.io/phonebill/\$service:.*|image: acrdigitalgarage01.azurecr.io/phonebill/\$service:${environment}-${imageTag}|g" \\ + phonebill/kustomize/base/\$service/deployment.yaml + + # 변경 사항 확인 + echo "Updated \$service deployment.yaml:" + grep "image: acrdigitalgarage01.azurecr.io/phonebill/\$service" phonebill/kustomize/base/\$service/deployment.yaml done # Git 설정 및 푸시 - cd ../../../.. git config user.name "Jenkins CI" git config user.email "jenkins@example.com" git add .