From 06b04abf4761f0dbbd451d94c6214bac0053bb66 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 28 Aug 2022 13:10:57 -0500 Subject: [PATCH] ci: Switch to K8s build agent --- ci/Dockerfile | 27 --------------------------- ci/Jenkinsfile | 23 +++++++++-------------- ci/podTemplate.yaml | 20 ++++++++++++++++++++ 3 files changed, 29 insertions(+), 41 deletions(-) delete mode 100644 ci/Dockerfile create mode 100644 ci/podTemplate.yaml diff --git a/ci/Dockerfile b/ci/Dockerfile deleted file mode 100644 index 7e16480..0000000 --- a/ci/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM registry.fedoraproject.org/fedora:30 - -ARG UID -ARG GID - -RUN groupadd -g ${GID} jenkins \ - && useradd -u ${UID} -g ${GID} -m -d /var/lib/jenkins -l jenkins - -RUN dnf install -y \ - bc \ - bzip2 \ - cpio \ - diffutils \ - g++ \ - gcc \ - git \ - make \ - ncurses-devel \ - openssh-clients \ - patch \ - perl-ExtUtils-MakeMaker \ - perl-Thread-Queue \ - rsync \ - systemd \ - wget \ - which \ - && dnf clean all diff --git a/ci/Jenkinsfile b/ci/Jenkinsfile index b0dae25..c880226 100644 --- a/ci/Jenkinsfile +++ b/ci/Jenkinsfile @@ -2,16 +2,12 @@ pipeline { agent { - dockerfile { - dir 'ci' - args ''' - -v /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts - --pids-limit 16384 - ''' - additionalBuildArgs '''\ - --build-arg UID=$(id -u) \ - --build-arg GID=$(id -g) \ - ''' + kubernetes { + yamlFile 'ci/podTemplate.yaml' + defaultContainer 'buildroot' + workspaceVolume persistentVolumeClaimWorkspaceVolume( + claimName: 'jenkins-ws-metricspi' + ) } } @@ -20,10 +16,6 @@ pipeline { disableConcurrentBuilds() } - triggers { - pollSCM '' - } - parameters { booleanParam \ name: 'Clean', @@ -32,6 +24,9 @@ pipeline { environment { BUILDROOT_SRC = "${env.WORKSPACE}/buildroot" + TMPDIR = "${env.WORKSPACE_TMP}" + TEMP = "${env.WORKSPACE_TMP}" + TMP = "${env.WORKSPACE_TMP}" } stages { diff --git a/ci/podTemplate.yaml b/ci/podTemplate.yaml new file mode 100644 index 0000000..002b5b8 --- /dev/null +++ b/ci/podTemplate.yaml @@ -0,0 +1,20 @@ +spec: + securityContext: + fsGroup: 1000 + containers: + - 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 -- 2.51.0