gpt4 book ai didi

.net-core - Azure Pipelines 第二个作业找不到第一个作业的结果

转载 作者:行者123 更新时间:2023-12-02 00:11:54 25 4
gpt4 key购买 nike

我开始使用 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,但我不记得有过类似的行为,尽管我不知道它是否将作业作为与步骤不同的概念。

最佳答案

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

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

在一个作业中创建的任何文件,如果您想在从属作业中使用,则必须显式暂存(在作业“A”中),然后显式下载(在作业“B”中)。

查看发布:

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

并下载:

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

关于.net-core - Azure Pipelines 第二个作业找不到第一个作业的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685399/

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