CI/CD pipeline and test/prod environments #3
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Set up automated Docker image builds and separate test/prod environments so code changes can be validated before going live.
Depends on: server-management#172 (Gitea Actions runner setup)
1. CI Workflow
.gitea/workflows/build.yml:maindocker/Dockerfileersatztv:latestandersatztv:<commit-sha>dotnet testbefore buildingNote: The Dockerfile uses a custom FFmpeg base image from
ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1. We may need to mirror this to our registry or fork it too if GHCR access becomes unreliable.2. Test Environment
Separate ErsatzTV container on jazz for validating changes before prod:
ersatztversatztv-test~/downloadswarm/ersatztv/~/downloadswarm/ersatztv-test/ersatztv.sqlite3ersatztv-test.sqlite3ersatztv:prodersatztv:latestThe test instance should:
3. Deployment Flow
For prod promotion, either:
docker pull ersatztv:latest && docker tag ersatztv:latest ersatztv:prod && docker restart ersatztvv*tag builds and tags as:prod, auto-restarts prod container via webhook/watchtower4. Open Questions