Skip to content

Commit 97b563b

Browse files
committed
fix build
1 parent 4a4800c commit 97b563b

1 file changed

Lines changed: 32 additions & 23 deletions

File tree

β€Ž.github/workflows/build.ymlβ€Ž

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,32 @@ on:
66
- main
77

88
jobs:
9-
build-and-test:
9+
install:
1010
runs-on: ubuntu-latest
1111

1212
steps:
13-
- name: πŸ“₯ Checkout code
13+
- name: πŸ“₯ Checkout Repository
1414
uses: actions/checkout@v2
1515

16-
- name: 🐍 Set up Python
16+
- name: 🐍 Setup Python 3.8
1717
uses: actions/setup-python@v2
1818
with:
1919
python-version: '3.8'
2020

21-
- name: πŸ“¦ Install Python dependencies
21+
- name: πŸ“¦ Install Python Dependencies
2222
run: |
2323
python -m pip install --upgrade pip
2424
pip install -r requirements.txt
2525
26-
deploy-to-production:
26+
build-and-push-image:
2727
runs-on: ubuntu-latest
28-
needs: build-and-test
28+
needs: install
2929

3030
steps:
31-
- name: πŸ“₯ Checkout code
31+
- name: πŸ“₯ Checkout Repository
3232
uses: actions/checkout@v2
3333

34-
- name: πŸ” Configure AWS credentials
34+
- name: πŸ” Configure AWS Credentials
3535
run: |
3636
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
3737
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -51,44 +51,53 @@ jobs:
5151
aws ecr get-login-password --region ${{ vars.AWS_REGION }} | \
5252
docker login --username AWS --password-stdin ${{ vars.IMAGE_REGISTRY }}
5353
54-
- name: πŸ”„ Update kubeconfig for EKS
55-
run: |
56-
aws eks update-kubeconfig --name eks-code2cloud-test --region ${{ vars.AWS_REGION }}
57-
58-
- name: πŸ—οΈ Build Docker image
54+
- name: πŸ—οΈ Build Docker Image
5955
run: |
6056
LATEST_SHA=$(git rev-parse HEAD)
6157
echo "LATEST_SHA=$LATEST_SHA" >> $GITHUB_ENV
6258
docker build -t ${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA .
6359
docker tag ${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA ${{ vars.IMAGE_REGISTRY }}:latest
6460
65-
- name: πŸš€ Push Docker image to AWS ECR
61+
- name: πŸš€ Push Docker Image to AWS ECR
6662
run: |
6763
docker push ${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA
6864
docker push ${{ vars.IMAGE_REGISTRY }}:latest
6965
70-
- name: πŸ” Check if deployment exists
66+
deploy-to-eks:
67+
runs-on: ubuntu-latest
68+
needs: build-and-push-image
69+
70+
steps:
71+
- name: πŸ“₯ Checkout Repository
72+
uses: actions/checkout@v2
73+
74+
- name: πŸ” Configure AWS Credentials
75+
run: |
76+
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
77+
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
78+
aws configure set region ${{ vars.AWS_REGION }}
79+
80+
- name: πŸ”„ Update Kubeconfig for EKS
81+
run: |
82+
aws eks update-kubeconfig --name eks-code2cloud-test --region ${{ vars.AWS_REGION }}
83+
84+
- name: πŸ” Check if Kubernetes Deployment Exists
7185
id: check-deployment
7286
run: |
7387
DEPLOYMENT_NAME=${{ vars.DEPLOYMENT_NAME }}
7488
DEPLOYMENT_EXISTS=$(kubectl get deployment $DEPLOYMENT_NAME -n default --ignore-not-found)
75-
7689
echo "deployment_exists=$([ -z "$DEPLOYMENT_EXISTS" ] && echo "false" || echo "true")" >> $GITHUB_OUTPUT
7790
78-
- name: πŸ› οΈ Create deployment (if not exists)
91+
- name: πŸ†• Create New Deployment (if not exists)
7992
if: steps.check-deployment.outputs.deployment_exists == 'false'
8093
run: |
81-
echo "Creating new deployment: ${{ vars.DEPLOYMENT_NAME }}"
8294
kubectl create deployment ${{ vars.DEPLOYMENT_NAME }} \
8395
--image=${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA -n default
8496
85-
- name: πŸ”„ Update deployment image (if exists)
97+
- name: πŸ”„ Update Deployment Image (if exists)
8698
if: steps.check-deployment.outputs.deployment_exists == 'true'
8799
run: |
88100
DEPLOYMENT_NAME=${{ vars.DEPLOYMENT_NAME }}
89-
echo "Fetching container name from deployment $DEPLOYMENT_NAME..."
90101
CONTAINER_NAME=$(kubectl get deployment $DEPLOYMENT_NAME -n default -o jsonpath='{.spec.template.spec.containers[0].name}')
91-
echo "Container name detected: $CONTAINER_NAME"
92-
93-
echo "Updating deployment image..."
102+
echo "Updating container $CONTAINER_NAME in $DEPLOYMENT_NAME to use image ${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA"
94103
kubectl set image deployment/$DEPLOYMENT_NAME $CONTAINER_NAME=${{ vars.IMAGE_REGISTRY }}:$LATEST_SHA -n default

0 commit comments

Comments
Β (0)