Skip to content

Commit a66ba29

Browse files
authored
Update ci-cd.yml
1 parent 7a6d98a commit a66ba29

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

.github/workflows/ci-cd.yml

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,50 @@ jobs:
1414
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/devops-webapp .
1515
- name: Push Docker Image
1616
run: docker push ${{ secrets.DOCKER_USERNAME }}/devops-webapp
17+
- name: Build and push prometheus image
18+
run: |
19+
docker build -t ${{ secrets.DOCKER_USERNAME }}/custom-prometheus ./prometheus
20+
docker push ${{ secrets.DOCKER_USERNAME }}/custom-prometheus
1721
- name: SSH into Azure VM and deploy
1822
uses: appleboy/ssh-action@master
1923
with:
2024
host: ${{ secrets.VM_HOST }}
2125
username: ${{ secrets.VM_USER }}
2226
key: ${{ secrets.VM_KEY }}
2327
script: |
28+
# Create network if not exists
29+
docker network create devops-net || true
30+
31+
# Pull Latest Images
2432
docker pull ${{ secrets.DOCKER_USERNAME }}/devops-webapp
25-
docker stop webapp || true && docker rm webapp || true
26-
docker run -d -p 80:5000 --name webapp ${{ secrets.DOCKER_USERNAME }}/devops-webapp
27-
33+
docker pull ${{ secrets.DOCKER_USERNAME }}/custom-prometheus
34+
35+
# Stop Old containers
36+
docker stop web-app || true && docker rm web-app || true
37+
docker stop prometheus || true && docker rm prometheus || true
38+
docker stop grafana || true && docker rm grafana || true
39+
docker stop cadvisor || true && docker rm cadvisor || true
40+
41+
# Run new containers in same network
42+
docker run -d --name web-app --network devops-net -p 5000:5000 ${{ secrets.DOCKER_USERNAME }}/devops-webapp
43+
# RUN Prometheus (Custom image with prometheus.yml baked in)
44+
docker run -d --name prometheus --network devops-net -p 9090:9090 ${{ secrets.DOCKER_USERNAME }}/custom-prometheus
45+
46+
47+
# Start Grafana if not running
48+
docker run -d --name=grafana \
49+
--network devops-net \
50+
-p 3000:3000 \
51+
grafana/grafana
52+
53+
# Start cAdvisor for metrics
54+
docker ps -q -f name=cadvisor || docker run -d \
55+
--name cadvisor \
56+
--network devops-net \
57+
-p 9323:9323 \
58+
-v /var/run/docker.sock:/var/run/docker.sock \
59+
-v /:/rootfs:ro \
60+
-v /var/run:/var/run:ro \
61+
-v /sys:/sys:ro \
62+
-v /var/lib/docker/:/var/lib/docker:ro \
63+
google/cadvisor:latest

0 commit comments

Comments
 (0)