无法运行Azure管道“缺少任务。该管道引用了一个名为“缓存”的任务

时间:2020-03-12 20:38:09

标签: azure azure-devops azure-pipelines

我正在使用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 ''.)

具体地说,

[更新]

我修改了jobs-templates.yml,并用Cache@2及其runs fine注释了所有步骤。

4 个答案:

答案 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

Source

答案 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 按钮,将其安装到您的管道中来解决此问题