ci: move build scratch off node runtime storage

This commit is contained in:
codex 2026-10-04 05:27:30 -05:00
parent 924b5325af
commit a0821562af

21
Jenkinsfile vendored
View File

@ -1,6 +1,8 @@
pipeline { pipeline {
agent { agent {
kubernetes { kubernetes {
// Keep build I/O off the node's runtime USB drive.
workspaceVolume dynamicPVC(accessModes: 'ReadWriteOnce', requestsSize: '40Gi', storageClassName: 'ci-scratch')
defaultContainer 'builder' defaultContainer 'builder'
yaml """ yaml """
apiVersion: v1 apiVersion: v1
@ -9,6 +11,9 @@ metadata:
labels: labels:
app: bstein-dev-home app: bstein-dev-home
spec: spec:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
nodeSelector: nodeSelector:
kubernetes.io/arch: arm64 kubernetes.io/arch: arm64
node-role.kubernetes.io/worker: "true" node-role.kubernetes.io/worker: "true"
@ -52,8 +57,9 @@ spec:
- --host=tcp://0.0.0.0:2375 - --host=tcp://0.0.0.0:2375
- --tls=false - --tls=false
volumeMounts: volumeMounts:
- name: dind-storage - name: workspace-volume
mountPath: /var/lib/docker mountPath: /var/lib/docker
subPath: .cache/docker
- name: builder - name: builder
image: registry.bstein.dev/bstein/docker:27 image: registry.bstein.dev/bstein/docker:27
command: ["cat"] command: ["cat"]
@ -92,12 +98,8 @@ spec:
- name: workspace-volume - name: workspace-volume
mountPath: /home/jenkins/agent mountPath: /home/jenkins/agent
volumes: volumes:
- name: workspace-volume
emptyDir: {}
- name: docker-config-writable - name: docker-config-writable
emptyDir: {} emptyDir: {}
- name: dind-storage
emptyDir: {}
- name: harbor-config - name: harbor-config
secret: secret:
secretName: harbor-robot-pipeline secretName: harbor-robot-pipeline
@ -108,6 +110,10 @@ spec:
} }
} }
environment { environment {
PIP_CACHE_DIR = '/home/jenkins/agent/.cache/pip'
NPM_CONFIG_CACHE = '/home/jenkins/agent/.cache/npm'
SONAR_USER_HOME = '/home/jenkins/agent/.cache/sonar'
TMPDIR = '/home/jenkins/agent/.cache/tmp'
REGISTRY = 'registry.bstein.dev/bstein' REGISTRY = 'registry.bstein.dev/bstein'
FRONT_IMAGE = "${REGISTRY}/bstein-dev-home-frontend" FRONT_IMAGE = "${REGISTRY}/bstein-dev-home-frontend"
BACK_IMAGE = "${REGISTRY}/bstein-dev-home-backend" BACK_IMAGE = "${REGISTRY}/bstein-dev-home-backend"
@ -133,6 +139,11 @@ spec:
pollSCM('H/2 * * * *') pollSCM('H/2 * * * *')
} }
stages { stages {
stage('Prepare build scratch') {
steps {
sh 'mkdir -p /home/jenkins/agent/.cache/tmp /home/jenkins/agent/.cache/go-tmp'
}
}
stage('Checkout') { stage('Checkout') {
steps { steps {
checkout scm checkout scm