97 lines
2.6 KiB
YAML
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 gitea/master --force &&
|
|
docker-compose up -d -f docker-compose-prod.yaml'"
|