@@ -18,59 +18,52 @@ jobs:
1818 environment : ${{ github.event.inputs.environment }}
1919
2020 steps :
21- # Step 1: Checkout code
21+ # 1. Checkout
2222 - name : Check out repository
23- uses : actions/checkout@v2
23+ uses : actions/checkout@v4
2424
25- # Step 2: Set TAG environment variable
26- - name : Set TAG environment variable
27- run : |
28- TAG="${{ github.event.inputs.tag }}"
29- echo "TAG=$TAG" >> $GITHUB_ENV
30-
31- # Step 3: Debug TAG value
32- - name : Debug TAG value
33- run : echo "TAG value:${{ env.TAG }}"
25+ # 2. Set TAG
26+ - name : Set TAG
27+ run : echo "TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
3428
35- # Step 4: Configure AWS credentials
29+ # 3. Configure AWS
3630 - name : Configure AWS credentials
3731 uses : aws-actions/configure-aws-credentials@v4
3832 with :
3933 aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
4034 aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
4135 aws-region : ${{ secrets.AWS_REGION }}
4236
43- # Step 5: Decode ConfigMap manifest from secret
37+ # 4. Write ConfigMap
4438 - name : Write ConfigMap manifest
4539 run : |
4640 mkdir -p manifest
4741 echo "${{ secrets.ENV_FILE_CONTENT_BACKEND }}" | base64 -d > manifest/configmap.yaml
48- echo "Generated ConfigMap:"
49- cat manifest/configmap.yaml
5042
51- # Step 6: Update Deployment Manifest
43+ # 5. Update Deployment Manifest
5244 - name : Update Deployment Manifest
5345 env :
54- IMAGE_TAG : ${{ env.TAG }}
46+ IMAGE_TAG : ${{ github.event.inputs.tag }}
5547 ECR_REPOSITORY : ${{ secrets.ECR_REPOSITORY }}
5648 run : |
57- mkdir -p manifest
5849 envsubst < manifest/backend.yaml > manifest/backend-service-updated.yaml
59- echo "Updated deployment manifest:"
60- cat manifest/backend-service-updated.yaml
6150
62- # Step 7: Deploy to AWS EKS
51+ # 6. Deploy
6352 - name : Deploy to AWS EKS
6453 env :
6554 EKS_CLUSTER_NAME : ${{ secrets.EKS_CLUSTER_NAME }}
6655 AWS_REGION : ${{ secrets.AWS_REGION }}
67- NAMESPACE : ${{ github.event.inputs.environment == 'prod' && 'default ' || 'microservices-qa' }}
56+ NAMESPACE : ${{ github.event.inputs.environment == 'prod' && 'microservices ' || 'microservices-qa' }}
6857 run : |
6958 aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_REGION
59+
60+ # Ensure namespace exists (fix for your previous failure)
61+ kubectl get ns $NAMESPACE >/dev/null 2>&1 || kubectl create ns $NAMESPACE
62+
7063 kubectl apply -f manifest/configmap.yaml -n $NAMESPACE
7164 kubectl apply -f manifest/backend-service-updated.yaml -n $NAMESPACE
72- # Restart pods to pick up new config
65+
7366 kubectl rollout restart deployment backend -n $NAMESPACE
74- sleep 10
75- echo "Pods status:"
76- kubectl get pods -n $NAMESPACE | grep backend
67+ kubectl rollout status deployment backend -n $NAMESPACE
68+
69+ kubectl get pods -n $NAMESPACE -l app= backend
0 commit comments