gpt4 book ai didi

azure - 每次管道运行时,Pip 验证任务都会为 PIP_INDEX_URL/PIP_EXTRA_INDEX_URL 创建新值,从而防止 docker 重用缓存层

转载 作者:行者123 更新时间:2023-12-03 01:31:25 27 4
gpt4 key购买 nike

我正在使用 azure devops 经典构建管道的 pip authenticate创建与私有(private)包源的连接的任务。此任务创建环境变量 PIP_INDEX_URLPIP_EXTRA_INDEX_URL

我将上述值作为参数传递到 dockerfile 中以配置包源凭据。

ARG EXTRA_INDEX_URL
ENV ENV_EXTRA_INDEX_URL ${EXTRA_INDEX_URL}
RUN pip config set global.extra-index-url "$ENV:ENV_EXTRA_INDEX_URL"
RUN pip install -r requirements.txt

每次管道运行时,Azure devops Pip 身份验证任务都会为 PIP_INDEX_URL/PIP_EXTRA_INDEX_URL 创建新值,防止 docker 重用缓存层。使用 pip 验证任务派生凭据时,有什么方法可以允许 docker 镜像层重用吗?

最佳答案

Azure devops Pip authenticate task creates new value for PIP_INDEX_URL/PIP_EXTRA_INDEX_URL each time the pipeline runs preventing docker to reuse cached layer. Is there any way to allow docker image layer re-use when deriving the credentials using the pip authenticate task?

抱歉,恐怕答案是。当 ARG 的值每次更改时,缓存层不会被重用,这是关于 docker 的预期行为。由于每次触发管道时,pip verify 任务总是创建新的临时凭证,因此我们无法避免创建新层。

建议您可以将上面的脚本放在 Dockerfile 中需要使用这些 python 包的位置之前,而不是放在最顶部。当脚本上方的命令可以重用缓存的图层时,这可以节省一些时间。您可以查看这个similar post .

关于azure - 每次管道运行时,Pip 验证任务都会为 PIP_INDEX_URL/PIP_EXTRA_INDEX_URL 创建新值,从而防止 docker 重用缓存层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62126225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com