在使用drone时,我看到过在一个步骤中设置pull: true
的几种情况。虽然还不清楚是否需要这样做,因为有些步骤省略了它
它在无人机网站上的几个例子中都有使用,但没有解释。
附言:我写这篇文章并回答我自己的问题,因为我很难找到医生来解释这一点,我想让其他人更容易找到。
您经常看到pull: true
,因为drone 0.X的默认设置是不升级映像。自drone 1.0以来,默认情况是升级图像。
Drone 1.0文档说:
如果本地缓存中不存在图像,Drone会指示Docker自动提取图像。您永远不需要手动提取图像。
如果图像被显式或隐式标记为:latest,Drone会尝试从远程注册表中提取图像的最新版本,即使图像存在于本地缓存中。
pull: if-not-exists # only pull the image if not found in the local cache
pull: always # always pull the newest version of the image
pull: never # never pull the image and always use the image in the local cache
无人机0.8.0医生说:
无人机不会自动升级docker镜像。当更新可用时,总是提取最新图像的示例配置:
pipeline:
build:
image: golang:latest
pull: true
这是因为CI的可复制性是关键,进一步的更新可能会破坏您的构建。源