antosaio/Jenkinsfile

42 lines
1.4 KiB
Plaintext
Raw Normal View History

2022-08-05 11:21:58 +02:00
pipeline{
agent { node{ label'workstation' }}
2022-08-05 11:21:58 +02:00
options {
// Limit build history with buildDiscarder option:
// daysToKeepStr: history is only kept up to this many days.
// numToKeepStr: only this many build logs are kept.
// artifactDaysToKeepStr: artifacts are only kept up to this many days.
// artifactNumToKeepStr: only this many builds have their artifacts kept.
buildDiscarder(logRotator(numToKeepStr: "1"))
// Enable timestamps in build log console
timestamps()
// Maximum time to run the whole pipeline before canceling it
timeout(time: 1, unit: 'HOURS')
// Use Jenkins ANSI Color Plugin for log console
ansiColor('xterm')
// Limit build concurrency to 1 per branch
disableConcurrentBuilds()
}
stages
{
2022-09-16 16:40:43 +02:00
stage('Build all') {
2022-08-05 11:21:58 +02:00
steps {
copyArtifacts(projectName: 'gitea-sync/antos-appimage/master', target: 'antos-release');
sh'''#! /bin/bash
2022-08-05 11:21:58 +02:00
set -e
cd $WORKSPACE
tree antos-release
2022-08-05 11:21:58 +02:00
docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64
for dir in antos-release/build/* ; do
2022-09-16 16:40:43 +02:00
tag=$(basename $dir)
echo "BUILD TAG $tag"
docker buildx build \
--push \
--build-arg tag=$tag \
--platform linux/arm/v7,linux/arm64/v8,linux/amd64 \
--tag xsangle/antosaio:$tag .
done
2022-09-16 13:39:50 +02:00
'''
}
}
2022-08-05 11:21:58 +02:00
}
}