def repository = "registry.c.test-chamber-13.lan" def repositoryCreds = "harbor-repository-creds" def label = "kubernetes-${UUID.randomUUID().toString()}" def templateName = "pipeline-worker" podTemplate( label: label, name: templateName, yaml: functions.podYaml( repo: repository, templateName: templateName, alpine: true, [ [ name: "ubuntu", path: "${repository}/dockerhub/library/ubuntu:24.04", command: "/bin/bash" ] ], ) ) { node (label) { def workspace = pwd() stage ("Pull FFMpeg Builder") { dir("ffmpeg") { checkout ([ $class: "GitSCM", branches: [ [ name: "refs/heads/master", ], ], userRemoteConfigs: [ [ url: "https://github.com/markus-perl/ffmpeg-build-script.git", ], ], extensions: [ [ $class: "CloneOption", shallow: true, ], [ $class: "CheckoutOption", timeout: 2, ], ], ]) } } stage ("Build FFMpeg") { container ("ubuntu") { writeFile(file: workspace + "/test-chamber-13.lan.root.crt", text: functions.getCurrentRootCA()) sh """ apt update apt -y --no-install-recommends install build-essential curl ca-certificates python3 python-is-python3 ninja-build meson git apt clean rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* update-ca-certificates cd ${workspace}/ffmpeg AUTOINSTALL=yes ./build-ffmpeg --build --full-static --enable-gpl-and-non-free """ } } functions.pushArtifact( repoCreds: "nexus-generic-upload-bot", fileName: "ffmpeg", filePath: "${workspace}/ffmpeg/workspace/bin/", fileURL: "https://nexus.c.test-chamber-13.lan/repository/generic/ffmpeg/" ) functions.pushArtifact( repoCreds: "nexus-generic-upload-bot", fileName: "ffprobe", filePath: "${workspace}/ffmpeg/workspace/bin/", fileURL: "https://nexus.c.test-chamber-13.lan/repository/generic/ffmpeg/" ) functions.pushArtifact( repoCreds: "nexus-generic-upload-bot", fileName: "ffplay", filePath: "${workspace}/ffmpeg/workspace/bin/", fileURL: "https://nexus.c.test-chamber-13.lan/repository/generic/ffmpeg/" ) } }