jenkins - 如何为 Jenkins 管道声明定义工作区体积

标签 jenkins kubernetes jenkins-pipeline jenkins-declarative-pipeline

我正在尝试设置声明性管道,我希望将工作区作为容量声明持久化,以便大型 git checkout 可以更快。基于 doc有选项workspaceVolumepersistentVolumeClaimWorkspaceVolume但我无法让它工作 - Jenkins 总是做以下事情:

volumeMounts:
 - mountPath: "/home/jenkins/agent"
   name: "workspace-volume"
   readOnly: false
volumes:
  - emptyDir: {}
    name: "workspace-volume"

最佳答案

尝试类似的东西

podTemplate(
    containers: [
        containerTemplate(name: 'tree', image: 'iankoulski/tree', ttyEnabled: true, command: 'cat')
    ], 
    workspaceVolume: persistentVolumeClaimWorkspaceVolume(claimName: 'workspace', readOnly: false),
) {
    node(POD_LABEL) {
        stage('read workspace') {
            checkout scm
            container('tree') {
                sh 'env'
                sh 'tree'
                sh 'test -f old-env.txt && cat old-env.txt'
                sh 'env > old-env.txt'
            }
        }
    }
}

关于jenkins - 如何为 Jenkins 管道声明定义工作区体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57793663/

相关文章:

shell - jenkins 上的交互式 shell 脚本

jenkins - 如何从jenkinsfile中获取管道的名称

kubernetes - 限制 EKS 用户访问

kubernetes - 如何对 kubeadm 上的 metrics-server 进行故障排除?

jenkins - 如何在 jenkins 上并行运行动态阶段,并为每个阶段使用单独的 kubernetes 代理

jenkins - 如何在 jenkins 中为 github webhook 设置 Secret

c - 在项目中期切换到 Jenkins 时,如何为旧标签构建工件?

kubernetes - kubernetes V1.9,如何获取kubelet.conf?

Jenkins 管道 : exporting and reading environment variable inside bash script

jenkins - 如何在 Jenkins 的声明性管道中执行简单的 if 语句