dustin
/
jenkinsagent
Archived
1
0
Fork 0
This repository has been archived on 2023-11-14. You can view files and clone it, but cannot push or open issues/pull-requests.
jenkinsagent/ci/Jenkinsfile

76 lines
1.8 KiB
Groovy

pipeline {
agent {
dockerfile {
dir 'ci'
args '-v /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts -u 0:0'
}
}
options {
disableConcurrentBuilds()
}
triggers {
pollSCM ''
}
parameters {
booleanParam \
name: 'Clean',
description: 'Clean the workspace and perform a full rebuild'
}
environment {
BUILDROOT_SRC = "${env.WORKSPACE}/buildroot"
}
stages {
stage('Prepare') {
steps {
script {
if (params.Clean) {
sh 'rm -rf _build'
}
}
checkout poll: false, scm: [
$class: 'GitSCM',
branches: [[name: '2022.02.x']],
doGenerateSubmoduleConfigurations: false,
userRemoteConfigs: [[url: 'git://git.buildroot.net/buildroot']],
extensions: [
[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'buildroot',
],
],
]
sh '. ci/prepare.sh'
}
}
stage('Build') {
parallel {
stage('Build Initramfs') {
steps {
sh '. ci/build-initramfs.sh'
}
}
stage('Build Rootfs') {
steps {
sh '. ci/build-rootfs.sh'
}
}
}
}
stage('Publish') {
steps {
sshagent(['jenkins-pxe']) {
sh '. ci/publish.sh'
}
}
}
}
}