60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
name: build-and-deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
#───────────────── build & push ─────────────────
|
|
build:
|
|
runs-on: docker
|
|
env:
|
|
REG: gitea.nucleoriofrio.com/nucleo000
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: docker/setup-buildx-action@v2
|
|
- uses: docker/login-action@v2
|
|
with:
|
|
registry: gitea.nucleoriofrio.com
|
|
username: nucleo000
|
|
password: 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
|
|
|
- name: Build+push radiusnucleo
|
|
run: |
|
|
docker build -t $REG/radiusnucleo:${{ github.sha }} -t $REG/radiusnucleo:latest ./node-api
|
|
docker push $REG/radiusnucleo:${{ github.sha }}
|
|
docker push $REG/radiusnucleo:latest
|
|
|
|
- name: Build+push radiusnucleo-freeradius
|
|
run: |
|
|
docker build -t $REG/radiusnucleo-freeradius:${{ github.sha }} -t $REG/radiusnucleo-freeradius:latest ./freeradius
|
|
docker push $REG/radiusnucleo-freeradius:${{ github.sha }}
|
|
docker push $REG/radiusnucleo-freeradius:latest
|
|
|
|
#───────────────── deploy ─────────────────
|
|
deploy:
|
|
needs: build
|
|
runs-on: docker
|
|
env:
|
|
REG: gitea.nucleoriofrio.com/nucleo000
|
|
RADIUS_CLIENTS_CIDR: 192.168.87.0/24
|
|
RADIUS_SHARED_SECRET: tamosbien
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Login to registry
|
|
run: docker login gitea.nucleoriofrio.com -u nucleo000 -p 7bc7b2fcd283bd6a251bef3ede368b7f897c919d
|
|
|
|
- name: Ensure external docker network exists
|
|
run: |
|
|
docker network inspect principal >/dev/null 2>&1 || docker network create principal
|
|
|
|
- name: Pull fresh images used in compose
|
|
run: docker compose pull
|
|
|
|
- name: Clean up stack
|
|
run: docker compose --project-name radiusnucleo down
|
|
|
|
- name: Update stack
|
|
run: docker compose --project-name radiusnucleo up -d --remove-orphans --wait
|