linux-blackfinn/Jenkinsfile
Thomas Klaehn d69bb9d875 linux-blackfinn: Add Jenkinsfile
Signed-off-by: Thomas Klaehn <thomas.klaehn@u-blox.com>
2019-03-06 08:58:20 +01:00

104 lines
5.3 KiB
Groovy

pipeline {
agent none
stages {
stage('Checkout') {
agent {
label 'oe-buildenv'
}
steps {
script {
sh """#!/bin/bash
repo init -u https://git.blackfinn.de/yocto/linux-blackfinn.git
repo sync
"""
stage('Fetch') {
sh """#!/bin/bash
source bbb-init-build-env
bitbake console-image --runall=fetch
"""
}
stage('Build') {
sh """#!/bin/bash
source bbb-init-build-env
bitbake console-image
"""
stash name: "download_bz2", includes: "**/build/downloads/*.tar.bz2", excludes: "**/build/downloads/*.tar.bz2.*"
stash name: "download_gz", includes: "**/build/downloads/*.tar.gz", excludes: "**/build/downloads/*.tar.gz.*"
stash name: "download_xz", includes: "**/build/downloads/*.tar.xz", excludes: "**/build/downloads/*.tar.xz.*"
stash name: "deploy_ipk", includes: "**/build/tmp/deploy/ipk/**"
stash name: "deploy_images", includes: "**/build/tmp/deploy/images/**"
}
}
}
}
stage('Deploy downloads') {
agent {
label 'deploy'
}
steps {
unstash "download_bz2"
unstash "download_gz"
unstash "download_xz"
sh "mkdir -p /srv/files.blackfinn.de/data/mirror/sources"
sh "rsync -zv build/downloads/* /srv/files.blackfinn.de/data/mirror/sources || exit 0"
}
}
stage('Deploy packages') {
agent {
label 'deploy'
}
steps {
unstash "deploy_ipk"
sh "mkdir -p /srv/files.blackfinn.de/data/ipk/${params.BRANCH}"
sh "rsync -avz build/tmp/deploy/ipk/ /srv/files.blackfinn.de/data/ipk/${params.BRANCH} || exit 0"
sh "ipkindex /srv/files.blackfinn.de/data/ipk/${params.BRANCH}"
}
}
stage('Deploy images') {
agent {
label 'deploy'
}
when {
equals expected: "beaglebone-yocto", actual: "${params.MACHINE}"
}
steps {
unstash "deploy_images"
sh "mkdir -p /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
sh "mv build/tmp/deploy/images/${params.MACHINE}/zImage /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/zImage"
sh "mv build/tmp/deploy/images/${params.MACHINE}/am335x-boneblack.dtb /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/am335x-boneblack.dtb"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.wic /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.wic"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.manifest /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.manifest"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.tar.bz2 /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.tar.bz2"
}
}
stage('Deploy images') {
agent {
label 'deploy'
}
when {
equals expected: "raspberrypi3-64", actual: "${params.MACHINE}"
}
steps {
unstash "deploy_images"
sh "mkdir -p /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
sh "mv build/tmp/deploy/images/${params.MACHINE}/Image /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/Image"
sh "mv build/tmp/deploy/images/${params.MACHINE}/*.dtb /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
sh "mv build/tmp/deploy/images/${params.MACHINE}/*.dtbo /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.rpi-sdimg /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.rpi-sdimg"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.manifest /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.manifest"
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.tar.bz2 /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image-${params.MACHINE}.tar.bz2"
}
}
}
// post {
// failure {
// mail to: 'tkl@blackfinn.de',
// subject: "${currentBuild.currentResult}: ${env.JOB_NAME}",
// body: "${env.JOB_NAME} didn't succeeds. See: ${env.BUILD_URL}"
// }
// }
}