77 - completed
88
99jobs :
10- build :
11- runs-on : [self-hosted]
12-
10+ deploy :
11+ runs-on : ubuntu-latest
12+
13+ env :
14+ DATABASE_URL : ${{ secrets.DATABASE_URL }}
15+ JWT_SECRET : ${{ secrets.JWT_SECRET }}
16+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
17+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
18+ AWS_REGION : ${{ secrets.AWS_REGION }}
19+ AWS_BUCKET_NAME : ${{ secrets.AWS_BUCKET_NAME }}
20+ PORT : ${{ secrets.PORT }}
21+
1322 steps :
14- - name : Pull Docker image
15- run : sudo docker pull pratik50/receiptsnap-backend:latest
16-
17- - name : Delete Old docker container
18- run : sudo docker rm -f receiptsnap-backend || true
19-
20- - name : Run Docker Container
21- run : |
22- sudo docker run -d --restart always -p 8080:8080 --name receiptsnap-backend \
23- -e DATABASE_URL='${{ secrets.DATABASE_URL }}' \
24- -e JWT_SECRET='${{ secrets.JWT_SECRET }}' \
25- -e AWS_ACCESS_KEY_ID='${{ secrets.AWS_ACCESS_KEY_ID }}' \
26- -e AWS_SECRET_ACCESS_KEY='${{ secrets.AWS_SECRET_ACCESS_KEY }}' \
27- -e AWS_REGION='${{ secrets.AWS_REGION }}' \
28- -e AWS_BUCKET_NAME='${{ secrets.AWS_BUCKET_NAME }}' \
29- -e PORT='${{ secrets.PORT }}' \
30- pratik50/receiptsnap-backend:latest
23+ - name : Checkout repo
24+ uses : actions/checkout@v3
25+
26+ - name : Install kubectl
27+ uses : azure/setup-kubectl@v3
28+ with :
29+ version : ' v1.29.0'
30+
31+ - name : Configure kubeconfig
32+ run : |
33+ echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > kubeconfig
34+ export KUBECONFIG=$PWD/kubeconfig
35+
36+ - name : Generate deployment file from template
37+ run : |
38+ envsubst < k8s/deployment.template.yaml > k8s/deployment.yaml
39+
40+ - name : Deploy to Kubernetes
41+ run : |
42+ kubectl apply -f k8s/deployment.yaml
0 commit comments