Files
basementhud/ci/Jenkinsfile
Dustin C. Hatch 5083b91871
All checks were successful
dustin/basementhud/pipeline/head This commit looks good
Install mqttdpms
The `mqttdpms` tool will allow the screens to be turned off and on using
Home Assistant.  We'll install it into the rootfs image by copying the
artifact from its Jenkins build into the overlay tree before building
the image.
2022-08-02 23:04:22 -05:00

73 lines
1.7 KiB
Groovy

DOCKER_BUILD_ARGS = '''\
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
'''
pipeline {
agent {
label 'docker && aarch64'
}
options {
buildDiscarder logRotator(numToKeepStr: '5')
disableConcurrentBuilds()
}
triggers {
pollSCM ''
}
parameters {
booleanParam \
name: 'Clean',
description: 'Clean the workspace and perform a full rebuild'
}
stages {
stage('Build') {
agent {
dockerfile {
reuseNode true
dir 'ci'
args '--privileged -u 0:0'
additionalBuildArgs DOCKER_BUILD_ARGS
}
}
steps {
script {
if (params.Clean) {
sh 'rm -rf _build'
}
}
copyArtifacts \
filter: 'aarch64/mqttdpms',
projectName: 'mqttdpms/master',
selector: lastSuccessful()
sh 'install aarch64/mqttdpms overlay/usr/local/bin/'
sh 'make rootfs initramfs'
}
}
stage('Publish') {
when {
not {
changeRequest()
}
}
agent {
dockerfile {
reuseNode true
dir 'ci'
args '-v /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts'
additionalBuildArgs DOCKER_BUILD_ARGS
}
}
steps {
sshagent(['jenkins-pxe']) {
sh 'make publish'
}
}
}
}
}