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