如何使用podman代理构建缓存与jenkins

ztigrdn8  于 2023-08-03  发布在  Jenkins
关注(0)|答案(1)|浏览(187)

我使用jenkins 2.387.2通过jenkins helm chart https://github.com/jenkinsci/helm-charts/tree/main/charts/jenkins构建图像。
为此,我使用了一个podman代理在values.yaml中构建映像

...
  podman:
    podName: podman
    customJenkinsLabels: podman
    image: podman-agent
    tag: 0.1
    alwaysPullImage: false #true
    volumeMounts:
    - mountPath: "/home/jenkins/agent"
      name: "workspace-volume"
      readOnly: false
    workingDir: "/home/jenkins/agent"

字符串
对于每个管道,jenkins创建一个新的podman代理,管道在其中执行所有构建步骤。
我想为每个作业使用构建缓存来减少构建时间。现在,我正在提取上一个图像进行缓存,并使用--cache-from参数:

docker build -t ${repository}:${env.BUILD_NUMBER} -f ./Dockerfile --cache-from ${repository}:latest .


有没有一种方法可以使用缓存构建从以前的代理到当前的代理?

xyhw6mcr

xyhw6mcr1#

为了充分利用缓存,我将使用两个参数。首先是--layers和--cache-to。有了这些,你将在本地缓存所有层,然后将它们推送到注册表,在那里你将存储你的缓存。在这种情况下,作业A将构建一些图像并将缓存层推送到注册表,并且如果某些层相同,则作业B将重用此缓存。

相关问题