diff --git a/Jenkinsfile b/Jenkinsfile index 96acf8a..d05e3d8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,41 +1,44 @@ -def remote = [:] -remote.name = 'workstation' -remote.host = 'workstation' -remote.user = 'dany' -remote.identityFile = '/var/jenkins_home/.ssh/id_rsa' -remote.allowAnyHosts = true -remote.agent = false -remote.logLevel = 'INFO' - -pipeline{ - agent { node{ label'master' }} - 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 - { - stage('Build') { - steps { - sshCommand remote: remote, command: ''' - docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64 - docker buildx build \ - --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ - --tag xsangle/ci-tools:latest . - ''' - } - } - } +def remote = [:] +remote.name = 'workstation' +remote.host = 'workstation' +remote.user = 'dany' +remote.identityFile = '/var/jenkins_home/.ssh/id_rsa' +remote.allowAnyHosts = true +remote.agent = false +remote.logLevel = 'INFO' + +pipeline{ + agent { node{ label'master' }} + 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 + { + stage('Build') { + steps { + sshCommand remote: remote, command: ''' + set -e + export WORKSPACE=$(realpath "./jenkins/workspace/ci-image") + cd $WORKSPACE + docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64 + docker buildx build \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + --tag xsangle/ci-tools:latest . + ''' + } + } + } } \ No newline at end of file