Если библиотека сначала создается на другом этапе или задании, библиотека не будет расположена на том же компьютере агента с другими веб-частями.
Допустим, библиотека построена на этапе A, а другие веб-части созданы на этапе B. В качестве обходного пути вам нужно будет опубликовать sh библиотеку в качестве артефактов на azure сервере devops с использованием Publi sh Задача Build Artifacts на этапе A. А затем загрузите библиотеку в агент, который создает другие веб-части на этапе B, используя Загрузить задачу Build Artifacts .
. Ниже пример:
Библиотека построена на этапе A и опубликована на azure devops-сервере как артефакты с именем library
.
На этапе B библиотечные артефакты загружаются из azure devops сервер в папку $(Build.ArtifactStagingDirectory)
. Затем вы можете обратиться к библиотеке по пути $(Build.ArtifactStagingDirectory)/library
для выполнения следующих задач на этапе B.
Если на этапе B в несколько заданий встроено несколько веб-частей, для каждого задания на этапе B потребуется загрузить артефакты библиотеки. , для разных заданий запускаются на разных виртуальных машинах агентов.
stages:
- stage: A
jobs:
- job: Library
pool:
vmImage: "windows-latest"
steps:
...
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: {path to the library}
ArtifactName: library
- stage: B
dependsOn: A
jobs:
- job: WebParts1
pool:
vmImage: "windows-latest"
steps:
- task: DownloadBuildArtifacts@0
inputs:
downloadPath: $(Build.ArtifactStagingDirectory)
buildType: current
artifactName: library
...
- job: WebParts2
pool:
vmImage: "windows-latest"
steps:
- task: DownloadBuildArtifacts@0
inputs:
downloadPath: $(Build.ArtifactStagingDirectory)
buildType: current
artifactName: library
...