Add jellyfin-ha container build
Build-orchestration for the jellyfin-ha Jellyfin fork: pins an upstream
commit (UPSTREAM_REF), publishes the .NET 10 server, and builds/pushes the
runtime image to git.unkin.net/unkin/jellyfin-ha on v* tags.
- UPSTREAM_REF pinned to d4f9c12
- Dockerfile.runtime (vendored runtime-only image + jellyfin-web 10.11.6)
- .woodpecker/{build,docker}.yaml (publish + docker-buildx, k8s resources)
- Makefile (publish/build + patch/minor/major release tagging)
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
when:
|
||||
- event: pull_request
|
||||
|
||||
steps:
|
||||
# Clone the pinned upstream jellyfin-ha source and publish the .NET server
|
||||
# into ./publish-output (consumed by Dockerfile.runtime).
|
||||
- name: publish
|
||||
image: mcr.microsoft.com/dotnet/sdk:10.0
|
||||
commands:
|
||||
- |
|
||||
REF=$$(cat UPSTREAM_REF)
|
||||
git clone https://github.com/ZoltyMat/jellyfin-ha.git src
|
||||
git -C src checkout "$$REF"
|
||||
dotnet publish src/Jellyfin.Server/Jellyfin.Server.csproj \
|
||||
-c Release -r linux-x64 --self-contained false -o ./publish-output
|
||||
backend_options:
|
||||
kubernetes:
|
||||
serviceAccountName: default
|
||||
resources:
|
||||
requests:
|
||||
memory: 2Gi
|
||||
cpu: 2
|
||||
limits:
|
||||
memory: 6Gi
|
||||
cpu: 4
|
||||
|
||||
# Validate the runtime image builds (no push on PRs).
|
||||
- name: docker-build
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
repo: git.unkin.net/unkin/jellyfin-ha
|
||||
dockerfile: Dockerfile.runtime
|
||||
dry_run: true
|
||||
depends_on: [publish]
|
||||
backend_options:
|
||||
kubernetes:
|
||||
serviceAccountName: default
|
||||
resources:
|
||||
requests:
|
||||
memory: 1Gi
|
||||
cpu: 1
|
||||
limits:
|
||||
memory: 4Gi
|
||||
cpu: 2
|
||||
@@ -0,0 +1,50 @@
|
||||
when:
|
||||
- event: tag
|
||||
ref: refs/tags/v*
|
||||
|
||||
steps:
|
||||
# Same publish step as the PR pipeline: clone pinned upstream + dotnet publish.
|
||||
- name: publish
|
||||
image: mcr.microsoft.com/dotnet/sdk:10.0
|
||||
commands:
|
||||
- |
|
||||
REF=$$(cat UPSTREAM_REF)
|
||||
git clone https://github.com/ZoltyMat/jellyfin-ha.git src
|
||||
git -C src checkout "$$REF"
|
||||
dotnet publish src/Jellyfin.Server/Jellyfin.Server.csproj \
|
||||
-c Release -r linux-x64 --self-contained false -o ./publish-output
|
||||
backend_options:
|
||||
kubernetes:
|
||||
serviceAccountName: default
|
||||
resources:
|
||||
requests:
|
||||
memory: 2Gi
|
||||
cpu: 2
|
||||
limits:
|
||||
memory: 6Gi
|
||||
cpu: 4
|
||||
|
||||
# Build the runtime image and push it to the Gitea registry.
|
||||
- name: docker
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
registry: git.unkin.net
|
||||
repo: git.unkin.net/unkin/jellyfin-ha
|
||||
dockerfile: Dockerfile.runtime
|
||||
username: droneci
|
||||
password:
|
||||
from_secret: DRONECI_PASSWORD
|
||||
tags:
|
||||
- ${CI_COMMIT_TAG}
|
||||
- latest
|
||||
depends_on: [publish]
|
||||
backend_options:
|
||||
kubernetes:
|
||||
serviceAccountName: default
|
||||
resources:
|
||||
requests:
|
||||
memory: 1Gi
|
||||
cpu: 1
|
||||
limits:
|
||||
memory: 4Gi
|
||||
cpu: 2
|
||||
Reference in New Issue
Block a user