node("linux && amd64 && docker") { docker.image("icedream/freetz@sha256:6607702228ee9ee819d888702acf3ddefe7609132f7f15c88349251a15f5a5cc").inside { stage("Checkout") { checkout scm sh """ cd ${pwd()} chown -R freetz:freetz . rm -rf /freetz cp -a freetz / cp -a .config config include make /freetz """ } sh """ apt update apt install -y bc """ withCredentials([ file(credentialsId: 'freetz.image_signing.asc', variable: 'FREETZ_IMAGE_SIGNING_ASC'), file(credentialsId: 'freetz.image_signing.key', variable: 'FREETZ_IMAGE_SIGNING_KEY'), file(credentialsId: 'freetz.image_signing.pem', variable: 'FREETZ_IMAGE_SIGNING_PEM'), ]) { sh """ chown freetz:freetz \ \"\${FREETZ_IMAGE_SIGNING_ASC}\" \ \"\${FREETZ_IMAGE_SIGNING_KEY}\" \ \"\${FREETZ_IMAGE_SIGNING_PEM}\" cp \"\${FREETZ_IMAGE_SIGNING_ASC}\" ~freetz/.freetz.image_signing.asc cp \"\${FREETZ_IMAGE_SIGNING_KEY}\" ~freetz/.freetz.image_signing.key cp \"\${FREETZ_IMAGE_SIGNING_PEM}\" ~freetz/.freetz.image_signing.pem """ } stage("Build") { ansiColor('xterm') { sh """ cd /freetz su freetz -c \"sh -c 'umask 0022 && make oldconfig'\" """ retry(10) { sh """ cd /freetz su freetz -c \"sh -c 'umask 0022 && make'\" """ } sh """ cd /freetz cp -r images outboard \"${env.WORKSPACE}\" """ } } archive "images/**,outboard/**" } }