Azure Pipelines第二份工作找不到第一份工作的结果

我开始使用azure-pipelines.yml

我想在同一阶段有2个工作。一个用于构建解决方案,另一个用于运行单元测试。

问题是第二个作业执行了脚本步骤,并且找不到上一个应该创建的文件夹Release

trigger:
- master

pool:
  vmImage: 'ubuntu-18.04'

stages:
- stage: CI
  jobs:
  - job: Build
    steps:
    - task: NuGetauthenticate@0
    - script: dotnet restore --no-cache --force
    - script: dotnet build --configuration Release --no-restore
  - job: UnitTests
    dependsOn: Build
    steps:
    - script: dotnet vstest test/*UnitTests/bin/Release/**/*UnitTests.dll

但是,如果我在同一作业中添加所有步骤,则它会起作用:

trigger:
- master

pool:
  vmImage: 'ubuntu-18.04'

stages:
- stage: CI
  jobs:
  - job: Build
    steps:
    - task: NuGetauthenticate@0
    - script: dotnet restore --no-cache --force
    - script: dotnet build --configuration Release --no-restore
    - script: dotnet vstest test/*UnitTests/bin/Release/**/*UnitTests.dll

我找不到答案,为什么一个依赖作业无法在文件系统上找到上一个文件夹生成的文件夹。任何解释或澄清的链接将不胜感激。

我过去曾经使用过gitlab,尽管我不知道它是否具有作业的概念与步骤不同,但我不记得有类似的行为。

mirror_cat 回答:Azure Pipelines第二份工作找不到第一份工作的结果

您缺少的关键要素是作业在独立的代理(独立的计算机)上运行,并且没有任何类型的共享文件系统。

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml

在一个作业中创建的任何要在从属作业中可用的文件,都必须显式暂存(在作业“ A”中),然后显式下载(在作业“ B”中)。

请参见发布:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/publish-build-artifacts?view=azure-devops

并下载:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/download-build-artifacts?view=azure-devops

本文链接:https://www.f2er.com/3169821.html

大家都在问