52 lines
1.9 KiB
YAML
52 lines
1.9 KiB
YAML
# Forgejo Actions — bouw + push image NAAR DE REGISTRY (optioneel, handmatig)
|
|
#
|
|
# UITGESCHAKELD voor automatische runs. Deze server bouwt zelf via
|
|
# deploy-prod.yml / deploy.yml (rsync + `docker compose build`), dus een
|
|
# registry-push is niet nodig. Stond dit op `push: tags: v*`, dan bleef de job
|
|
# hangen omdat hij een runner met label `docker` zoekt die niet bestaat —
|
|
# dat veroorzaakte de eindeloos "building" run in de Actions-tab.
|
|
#
|
|
# Wil je tóch naar de Forgejo container-registry publiceren: start deze workflow
|
|
# handmatig via de Actions-tab (Run workflow) en zorg dat er een runner met
|
|
# label `docker` bestaat (of pas `runs-on` aan naar je eigen runner-label).
|
|
#
|
|
# Vereisten (alleen voor handmatige runs):
|
|
# Settings → Variables → REGISTRY=git.example.com, OWNER=bes-r
|
|
# Settings → Secrets → PACKAGE_TOKEN=<token met write:package scope>
|
|
|
|
name: Build and push image (handmatig)
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: docker
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Extract versie uit tag
|
|
id: tag
|
|
run: echo "v=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Login op Forgejo registry
|
|
run: |
|
|
echo "${{ secrets.PACKAGE_TOKEN }}" \
|
|
| docker login ${{ vars.REGISTRY }} \
|
|
-u ${{ vars.OWNER }} \
|
|
--password-stdin
|
|
|
|
- name: Bouw image met versie ingebakken
|
|
run: |
|
|
docker build \
|
|
--build-arg SU_VERSION=${{ steps.tag.outputs.v }} \
|
|
-t ${{ vars.REGISTRY }}/${{ vars.OWNER }}/server-up:${{ steps.tag.outputs.v }} \
|
|
-t ${{ vars.REGISTRY }}/${{ vars.OWNER }}/server-up:latest \
|
|
.
|
|
|
|
- name: Push image
|
|
run: |
|
|
docker push ${{ vars.REGISTRY }}/${{ vars.OWNER }}/server-up:${{ steps.tag.outputs.v }}
|
|
docker push ${{ vars.REGISTRY }}/${{ vars.OWNER }}/server-up:latest
|