All checks were successful
dustin/basementhud/pipeline/head This commit looks good
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.
73 lines
1.7 KiB
Groovy
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'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|