wip: ci: run in kubernetes #1

Manually merged
dustin merged 1 commits from ci-kubernetes into master 2022-11-27 23:50:28 +00:00
3 changed files with 43 additions and 26 deletions

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[Jenkinsfile]
indent_style = space
indent_size = 4

30
ci/Jenkinsfile vendored
View File

@ -1,11 +1,9 @@
DOCKER_BUILD_ARGS = '''\
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
'''
pipeline {
agent {
label 'docker && aarch64'
kubernetes {
yamlFile 'ci/podTemplate.yaml'
defaultContainer 'build'
}
}
options {
@ -13,10 +11,6 @@ pipeline {
disableConcurrentBuilds()
}
triggers {
pollSCM ''
}
parameters {
booleanParam \
name: 'Clean',
@ -25,14 +19,6 @@ pipeline {
stages {
stage('Build') {
agent {
dockerfile {
reuseNode true
dir 'ci'
args '--privileged -u 0:0'
additionalBuildArgs DOCKER_BUILD_ARGS
}
}
steps {
script {
if (params.Clean) {
@ -54,14 +40,6 @@ pipeline {
changeRequest()
}
}
agent {
dockerfile {
reuseNode true
dir 'ci'
args '-v /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts'
additionalBuildArgs DOCKER_BUILD_ARGS
}
}
steps {
sshagent(['jenkins-pxe']) {
sh 'make publish'

28
ci/podTemplate.yaml Normal file
View File

@ -0,0 +1,28 @@
spec:
nodeSelector:
kubernetes.io/arch: arm64
terminationGracePeriodSeconds: 0
containers:
- name: build
image: git.pyrocufflink.net/containerimages/build/basementhud
command:
- sleep
- infinity
securityContext:
readOnlyRootFilesystem: true
privileged: true
volumeMounts:
- name: tmp
mountPath: /tmp
- name: publish
image: git.pyrocufflink.net/containerimages/build/basementhud
command:
- sleep
- infinity
securityContext:
readOnlyRootFilesystem: true
runAsUser: 1000
volumes:
- name: tmp
emptyDir:
medium: Memory