Skip to content

Commit e2d3287

Browse files
committed
ci/cd testing
1 parent 9a5e66d commit e2d3287

File tree

2 files changed

+66
-20
lines changed

2 files changed

+66
-20
lines changed

.github/workflows/cd.yml

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,36 @@ on:
77
- completed
88

99
jobs:
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

deployment.template.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: receiptsnap-backend
5+
spec:
6+
replicas: 2
7+
selector:
8+
matchLabels:
9+
app: receiptsnap-backend
10+
template:
11+
metadata:
12+
labels:
13+
app: receiptsnap-backend
14+
spec:
15+
containers:
16+
- name: backend
17+
image: pratik50/receiptsnap-backend:latest
18+
ports:
19+
- containerPort: 8080
20+
env:
21+
- name: DATABASE_URL
22+
value: "${DATABASE_URL}"
23+
- name: JWT_SECRET
24+
value: "${JWT_SECRET}"
25+
- name: AWS_ACCESS_KEY_ID
26+
value: "${AWS_ACCESS_KEY_ID}"
27+
- name: AWS_SECRET_ACCESS_KEY
28+
value: "${AWS_SECRET_ACCESS_KEY}"
29+
- name: AWS_REGION
30+
value: "${AWS_REGION}"
31+
- name: AWS_BUCKET_NAME
32+
value: "${AWS_BUCKET_NAME}"
33+
- name: PORT
34+
value: "${PORT}"

0 commit comments

Comments
 (0)