forked from jaesivsm/JARR
-
Notifications
You must be signed in to change notification settings - Fork 0
60 lines (58 loc) · 2.63 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: Deploy to cluster
on:
push:
branches:
- master
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Build docker images
env:
PUBLIC_URL: /app
REACT_APP_API_URL: http://api.dailyenews.k3s
run: |
docker build . --file Dockerfiles/pythonbase -t pythonbase
docker build . --file Dockerfiles/server -t registry.deti:5000/gic2/server
docker build . --file Dockerfiles/worker -t registry.deti:5000/gic2/worker
docker build . --file Dockerfiles/client -t registry.deti:5000/gic2/client --build-arg PUBLIC_URL=${PUBLIC_URL} --build-arg REACT_APP_API_URL=${REACT_APP_API_URL}
docker pull postgres:13.7
docker tag postgres:13.7 registry.deti:5000/gic2/postgres
docker pull redis:7.0
docker tag redis:7.0 registry.deti:5000/gic2/redis
docker pull rabbitmq:3.10
docker tag rabbitmq:3.10 registry.deti:5000/gic2/rabbitmq
#- name: Tag docker images with commit hash
# run: |
# docker tag registry.deti:5000/gic2/server registry.deti:5000/gic2/server:${GITHUB_SHA}
# docker tag registry.deti:5000/gic2/worker registry.deti:5000/gic2/worker:${GITHUB_SHA}
# docker tag registry.deti:5000/gic2/client registry.deti:5000/gic2/client:${GITHUB_SHA}
- name: Push docker images
run: |
docker push registry.deti:5000/gic2/server
docker push registry.deti:5000/gic2/worker
docker push registry.deti:5000/gic2/client
docker push registry.deti:5000/gic2/redis
docker push registry.deti:5000/gic2/postgres
docker push registry.deti:5000/gic2/rabbitmq
# docker push registry.deti:5000/gic2/server:${GITHUB_SHA}
# docker push registry.deti:5000/gic2/worker:${GITHUB_SHA}
# docker push registry.deti:5000/gic2/client:${GITHUB_SHA}
- name: Apply kubernetes configuration files
run: |
kubectl apply -f k3s/postgres
kubectl apply -f k3s/redis
kubectl apply -f k3s/rabbitmq
kubectl apply -f k3s/server
kubectl apply -f k3s/client
kubectl apply -f k3s/worker
kubectl apply -f k3s/traefik-ingress.yaml
- name: Reload the docker images in the pods
run: |
kubectl rollout restart deployment client-deployment -n gic2
kubectl rollout restart deployment worker-deployment -n gic2
kubectl rollout restart deployment server-deployment -n gic2
kubectl rollout restart deployment redis-deployment -n gic2
kubectl rollout restart deployment postgres-deployment -n gic2
kubectl rollout restart deployment rabbitmq-deployment -n gic2