1.9 KiB
1.9 KiB
Gitea immutable releasepad
Een push naar main publiceert geen productiecode. Alleen een expliciete semantische
tag v*.*.* start .gitea/workflows/release.yml. De runner:
- verifieert de volledige repository;
- bouwt de Unraid-image met commit- en versielabels;
- publiceert die image naar de private Gitea-containerregistry;
- genereert een SPDX-SBOM, digestbestand, checksums en release notes.
Productie wordt daarna expliciet op de volledige versie@sha256:digest gepind.
Hierdoor kan een gewone documentatie- of codepush nooit ongemerkt productie
overschrijven en bestaat geen parallel mutable push-to-deploypad meer.
Vereiste runnerconfiguratie
- De Gitea-runner accepteert label
ubuntu-latesten kan jobcontainers starten. REGISTRY_USERenREGISTRY_TOKENzijn repositorysecrets met uitsluitend de noodzakelijke package-schrijfrechten.- Unraid gebruikt een afzonderlijk
read:package-token om gepubliceerde images te pullen; dat token staat alleen in de root-Dockerconfig op de server. - De runnerhost heeft voldoende vrije Docker-address-pools voor tijdelijke jobnetwerken; volg daarvoor de netwerksectie in Unraid-deployment.
Publiceren en uitrollen
- Maak en verifieer een database- en configuratieback-up.
- Push de geverifieerde releasecommit naar
main. - Maak en push de semantische tag.
- Wacht tot de Gitea-releasejob groen is en verifieer de artifactchecksums.
- Pull op Unraid de gepubliceerde volledige digest.
- Zet
VACATURERADAR_IMAGEopversie@sha256:digesten herstart Compose met--no-build --force-recreate. - Controleer intern en publiek
/health/live/en/health/ready/, runtimeversie, containerhealth en restartteller.
PostgreSQL, Redis en Ollama blijven niet publiek bereikbaar. Bewaar de vorige digest totdat minstens één volledige schedulercyclus groen is.