gpt4 book ai didi

azure - Azure DevOps 中的 Python CI 管道中的依赖项缓存?

转载 作者:行者123 更新时间:2023-12-03 00:44:57 29 4
gpt4 key购买 nike

我关注了pip section Azure 文档 pipeline caching加快我的 Azure DevOps CI 管道(特别是依赖项安装步骤)。但是,每次我执行管道(理想情况下我也想缓存)时,这些包仍然会安装。我怎样才能实现这个目标?

最佳答案

Azure DevOps 文档在这里有 pip 乏善可陈。继pip section只会导致轮子的缓存,而不是安装本身(您也可以缓存以进一步提高管道执行时间)。要启用此功能,您需要使用虚拟环境(例如 venvconda environment )并缓存整个环境。

下面您可以找到一个使用 conda 的代码示例,了解如何缓存整个已安装的环境:

variables:
CONDA_ENV_NAME: "unit_test"

# set $(CONDA) environment variable to your conda path (pre-populated on 'ubuntu-latest' VMs)
CONDA_ENV_DIR: $(CONDA)/envs/$(CONDA_ENV_NAME)

steps:
- script: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH

- task: Cache@2
displayName: Use cached Anaconda environment
inputs:
key: 'conda | "$(Agent.OS)" | requirements.txt'
path: $(CONDA_ENV_DIR)
cacheHitVar: CONDA_CACHE_RESTORED

- bash: conda create --yes --quiet --name $(CONDA_ENV_NAME)
displayName: Create Anaconda environment
condition: eq(variables.CONDA_CACHE_RESTORED, 'false')

- bash: |
source activate $(CONDA_ENV_NAME)
pip install -r requirements.txt
displayName: Install dependencies
condition: eq(variables.CONDA_CACHE_RESTORED, 'false')

# Optional step here: Install your package (do not cache this step)
- bash: |
source activate $(CONDA_ENV_NAME)
pip install --no-deps .
pytest .
displayName: Install package and execute unit tests

关于azure - Azure DevOps 中的 Python CI 管道中的依赖项缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69542082/

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