2025-05-28 19:24:27 +03:00

97 lines
2.6 KiB
YAML

name: build-and-deploy-prod
on:
push:
- lab6
workflow_dispatch:
jobs:
build-cc:
runs-on: docker
services:
docker:
image: docker:dind
options: --privileged --shm-size=2g
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
steps:
- name: Clone repo
shell: sh
run: |
git init
git remote add gitea http://10.1.1.1:3000/hasslesstech/devops-lab4
git fetch gitea
git checkout gitea/master
- name: Build container
shell: sh
run: |
docker build . -f Dockerfile-cc -t 10.5.1.10:5000/prod/cc
- name: Push container
shell: sh
run: |
docker push 10.5.1.10:5000/prod/cc
build-hm:
runs-on: docker
services:
docker:
image: docker:dind
options: --privileged --shm-size=2g
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
steps:
- name: Clone repo
shell: sh
run: |
git init
git remote add gitea http://10.1.1.1:3000/hasslesstech/devops-lab4
git fetch gitea
git checkout gitea/master
- name: Build container
shell: sh
run: |
docker build . -f Dockerfile-hm -t 10.5.1.10:5000/prod/hm
- name: Push container
shell: sh
run: |
docker push 10.5.1.10:5000/prod/hm
build-map:
runs-on: docker
services:
docker:
image: docker:dind
options: --privileged --shm-size=2g
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
steps:
- name: Clone repo
shell: sh
run: |
git init
git remote add gitea http://10.1.1.1:3000/hasslesstech/devops-lab4
git fetch gitea
git checkout gitea/master
- name: Build container
shell: sh
run: |
docker build . -f Dockerfile-map -t 10.5.1.10:5000/prod/map
- name: Push container
shell: sh
run: |
docker push 10.5.1.10:5000/prod/map
deploy-all:
runs-on: hardware-x86_64
needs:
- build-cc
- build-hm
- build-map
steps:
- run: |
ssh -i prod-key root@10.5.1.11 "sh -c 'git init &&
git remote add gitea http://10.1.1.1:3000/hasslesstech/devops-lab4 &&
git fetch gitea &&
git checkout -f origin/master &&
docker-compose up -d -f docker-compose-prod.yaml'"