如何为詹金斯管道声明方法定义工作区体积
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为詹金斯管道声明方法定义工作区体积相关的知识,希望对你有一定的参考价值。
我正在尝试建立声明性管道,在该管道中我想将工作空间作为卷声明保留,因此较大的git checkout可以更快。基于doc,有选项workspaceVolume
和persistentVolumeClaimWorkspaceVolume
,但我无法使其工作-jenkins始终执行以下操作:
volumeMounts:
- mountPath: "/home/jenkins/agent"
name: "workspace-volume"
readOnly: false
volumes:
- emptyDir: {}
name: "workspace-volume"
答案
尝试类似的东西
script {
def pvcWorkspaceName = parameters.get('workspaceClaimName', null)
def podYaml = ""
def workspaceVolume = emptyDirWorkspaceVolume(memory: false)
if (pvcWorkspaceName) {
podYaml = """
apiVersion: v1
kind: Pod
spec:
initContainers:
- name: init-workspace
image: busybox
command: ['sh', '-c', 'chmod -R 777 /home/jenkins']
volumeMounts:
- mountPath: /home/jenkins/agent
name: workspace-volume
"""
workspaceVolume = persistentVolumeClaimWorkspaceVolume(claimName: pvcWorkspaceName, readOnly: false)
}
....
podTemplate(name: "${name}", label: label, serviceAccount: "${serviceAccount}",
idleMinutesStr: "${idleMinutes}",
containers: containerTemplates,
workspaceVolume: workspaceVolume,
volumes: volumes,
imagePullSecrets: imagePullSecrets,
yaml: podYaml)
}
以上是关于如何为詹金斯管道声明方法定义工作区体积的主要内容,如果未能解决你的问题,请参考以下文章
如何为 GraphQLObjectType 的 GraphQLList 定义 Relay 片段?
如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?