wip: ci: Begin Jenkins pipeline
dustin/airplaypi/pipeline/head There was a failure building this commit Details

Dustin 2025-08-17 21:53:24 -05:00
parent 11d05b9102
commit 863078e237
2 changed files with 67 additions and 0 deletions

50
ci/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,50 @@
pipeline {
parameters {
booleanParam 'CLEAN_BUILD'
}
options {
disableConcurrentBuilds()
}
agent {
kubernetes {
yamlFile 'ci/podTemplate.yaml'
yamlMergeStrategy merge()
workspaceVolume persistentVolumeClaimWorkspaceVolume(
claimName: 'buildroot-airplaypi'
)
defaultContainer 'build'
}
}
stages {
stage('Clean') {
when {
expression {
params.CLEAN_BUILD == 'true'
}
}
steps {
sh 'git clean -fdx'
}
}
stage('Build') {
steps {
sh 'make config'
sh 'make'
}
post {
success {
dir('_build/images') {
archiveArtifacts([
'firmware.img',
'rootfs.squashfs',
'sdcard.img',
].join(','))
}
}
}
}
}
}

17
ci/podTemplate.yaml Normal file
View File

@ -0,0 +1,17 @@
spec:
containers:
- name: build
image: git.pyrocufflink.net/containerimages/buildroot
resources:
limits: &resources
cpu: 6
memory: 12Gi
requests: *resources
volumeMounts:
- mountPath: /etc/ssh/ssh_known_hosts
name: ssh-known-hosts
subPath: ssh_known_hosts
volumes:
- name: ssh-known-hosts
configMap:
name: ssh-known-hosts