104 lines
5.2 KiB
Groovy
104 lines
5.2 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') {
|
|
echo "Fetch ${params.MACHINE}"
|
|
sh """#!/bin/bash
|
|
MACHINE=${params.MACHINE} source blackfinn-init-build-env
|
|
bitbake console-image --runall=fetch
|
|
"""
|
|
}
|
|
stage('Build') {
|
|
echo "Build ${params.MACHINE}"
|
|
sh """#!/bin/bash
|
|
MACHINE=${params.MACHINE} source blackfinn-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 {
|
|
sh "rm -rf *"
|
|
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"
|
|
sh "rm -rf *"
|
|
}
|
|
}
|
|
|
|
stage('Deploy packages') {
|
|
agent {
|
|
label 'deploy'
|
|
}
|
|
steps {
|
|
sh "rm -rf *"
|
|
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}"
|
|
sh "rm -rf *"
|
|
}
|
|
}
|
|
|
|
stage('Deploy images') {
|
|
agent {
|
|
label 'deploy'
|
|
}
|
|
steps {
|
|
sh "rm -rf *"
|
|
unstash "deploy_images"
|
|
sh "mkdir -p /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
|
|
script {
|
|
if(params.MACHINE == 'beaglebone-yocto') {
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/zImage--*-${params.MACHINE}-*.bin /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/zImage"
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}-*.rootfs.wic /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image.rootfs.wic"
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}-*.rootfs.tar.bz2 /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/console-image.rootfs.tar.bz2"
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/am335x-boneblack--*-${params.MACHINE}-*.dtb /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}/am335x-boneblack.dtb"
|
|
}
|
|
else if(params.MACHINE == 'raspberrypi3-64') {
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/Image /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
|
|
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}"
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.tar.bz2 /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
|
|
}
|
|
}
|
|
sh "mv build/tmp/deploy/images/${params.MACHINE}/console-image-${params.MACHINE}.manifest /srv/files.blackfinn.de/data/images/${params.BRANCH}/${params.MACHINE}"
|
|
sh "rm -rf *"
|
|
}
|
|
}
|
|
}
|
|
// post {
|
|
// failure {
|
|
// mail to: 'tkl@blackfinn.de',
|
|
// subject: "${currentBuild.currentResult}: ${env.JOB_NAME}",
|
|
// body: "${env.JOB_NAME} didn't succeeds. See: ${env.BUILD_URL}"
|
|
// }
|
|
// }
|
|
}
|