我正在使用azure_pipeline.yaml配置来设置Github项目的分支。 这似乎对社区中的其他所有人都很好,但是当我设置管道时,它给了我以下异常:
A task is missing. The pipeline references a task called 'Cache'. This usually indicates the task isn't installed, and you may be able to install it from the Marketplace: https://marketplace.visualstudio.com. (Task version 2, job 'compile_ci_build', step ''.)
A task is missing. The pipeline references a task called 'Cache'. This usually indicates the task isn't installed, and you may be able to install it from the Marketplace: https://marketplace.visualstudio.com. (Task version 2, job 'test_ci_build', step ''.)
A task is missing. The pipeline references a task called 'Cache'. This usually indicates the task isn't installed, and you may be able to install it from the Marketplace: https://marketplace.visualstudio.com. (Task version 2, job 'e2e_ci_build', step ''.)
具体地说,
azure-pipeline.yml
的人tools/azure-pipelines/jobs-template.yml
中设置了参数的作业[更新]
我修改了jobs-templates.yml,并用Cache@2
及其runs fine注释了所有步骤。
答案 0 :(得分:0)
根据设计,运行管道时,Azure DevOps不会自动使所有任务可用。
您必须手动添加它们作为管道的一部分。
“缓存”就是这样的任务之一。
我正在使用经典的gui(非Yaml)模式进行此操作,因为我发现它更容易搜索内容 但是,您要做的是在管道中添加一个新任务,然后在任务搜索框中键入“缓存”。
这将启动任务。 单击添加以将其包括在管道中。
有关此的更多信息,我建议阅读:
https://docs.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops
答案 1 :(得分:0)
我看不到您从git repo在管道中添加了缓存任务。
它看起来像这里的示例:
variables:
YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn
steps:
- task: Cache@2
inputs:
key: 'yarn | "$(Agent.OS)" | yarn.lock'
restoreKeys: |
yarn | "$(Agent.OS)"
yarn
path: $(YARN_CACHE_FOLDER)
displayName: Cache Yarn packages
- script: yarn --frozen-lockfile
答案 2 :(得分:0)
最终能够使它工作。
显然是我的Azure帐户。我不允许使用Cache@2
。
用
- task: Cache@2
到
- task: CacheBeta@1
解决了我所有的问题。
答案 3 :(得分:0)
我在一项 azure 任务 A task is missing. The pipeline references a..
上遇到了同样的错误 PublishCucumberReport@1
。我通过访问 https://marketplace.visualstudio.com/
并转到任务,然后单击 get free
按钮,将其安装到您的管道中来解决此问题