1
0
Fork 0

Begin Jenkins CI pipeline
dustin/pythonctnr/pipeline/head This commit looks good Details

Dustin 2022-08-07 10:44:52 -05:00
parent 6ff519aecd
commit 87af8894d9
2 changed files with 78 additions and 0 deletions

57
ci/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,57 @@
// vim: set ft=groovy sw=4 ts=4 sts=4 et :
pipeline {
agent {
kubernetes {
yamlFile 'ci/podTemplate.yaml'
defaultContainer 'buildroot'
workspaceVolume persistentVolumeClaimWorkspaceVolume(
claimName: 'jenkins-ws-pythonctnr'
)
}
}
options {
buildDiscarder logRotator(numToKeepStr: '5')
disableConcurrentBuilds()
}
parameters {
booleanParam \
name: 'Clean',
description: 'Clean the workspace and perform a full rebuild'
}
stages {
stage('Prepare') {
steps {
script {
if (params.Clean) {
sh 'rm -rf _build'
}
}
checkout poll: false, scm: [
$class: 'GitSCM',
branches: [[name: '2022.05.x']],
doGenerateSubmoduleConfigurations: false,
userRemoteConfigs: [[url: 'git://git.buildroot.net/buildroot']],
extensions: [
[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'buildroot',
],
],
]
}
}
stage('Build') {
steps {
sh 'make -C buildroot O="${PWD}"/_build BR2_EXTERNAL="${PWD}" pythonctnr_defconfig'
sh 'make -C _build'
}
}
}
}

21
ci/podTemplate.yaml Normal file
View File

@ -0,0 +1,21 @@
spec:
securityContext:
fsGroup: 1000
containers:
- name: jnlp
- name: buildroot
image: registry.pyrocufflink.blue/buildroot
command:
- sleep
- infinity
volumeMounts:
- name: tmp
mountPath: /tmp
securityContext:
readOnlyRootFilesystem: true
runAsUser: 1000
volumes:
- name: tmp
emptyDir:
medium: Memory
sizeLimit: 100Mi