Azure Pip身份验证任务在每次管道运行时为Pip_INDEX_URL/Pip_EXTRA_INDEX_URL创建新值,防止docker重用缓存层
我正在使用azure devops classic build pipeline的任务创建到私有包源的连接。此任务创建环境变量Azure Pip身份验证任务在每次管道运行时为Pip_INDEX_URL/Pip_EXTRA_INDEX_URL创建新值,防止docker重用缓存层,azure,docker,azure-devops,pip,dockerfile,Azure,Docker,Azure Devops,Pip,Dockerfile,我正在使用azure devops classic build pipeline的任务创建到私有包源的连接。此任务创建环境变量PIP\u INDEX\u URL和PIP\u EXTRA\u INDEX\u URL 我将上述值作为参数传递到dockerfile中,以配置包源凭据 ARG EXTRA_INDEX_URL ENV ENV_EXTRA_INDEX_URL ${EXTRA_INDEX_URL} RUN pip config set global.extra-index-url "$ENV:
PIP\u INDEX\u URL
和PIP\u EXTRA\u INDEX\u 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 authenticate任务在每次管道运行时为Pip_INDEX_URL/Pip_EXTRA_INDEX_URL创建新值,防止docker重用缓存层。在使用pip身份验证任务派生凭据时,是否有任何方法允许docker映像层重用
Azure devops Pip身份验证任务为
每次管道运行时,PIP_INDEX_URL/PIP_EXTRA_INDEX_URL
阻止docker重用缓存层。有什么办法允许吗
使用pip导出凭据时docker映像层的重复使用
验证任务
对不起,恐怕答案是否定的。当ARG
的值每次更改时,缓存层不会被重用,这是docker的预期行为。由于每次触发管道时,pip authenticate
任务总是创建新的临时凭证,因此我们无法避免创建新的层
建议您将上面的脚本放在Dockerfile中,放在需要使用这些python包的位置之前,而不是放在最上面。当脚本上面的命令可以重用缓存层时,这可以节省一些时间。你可以检查一下