Как вы загружаете все ресурсы конвейера в задании?
Действительно, это известная проблема, связанная с использованием ключевого слова download чтобы загрузить артефакты конвейера.
Вы можете отследить эту проблему с помощью следующего билета:
Артефакты не загружаются при многоэтапной сборке yaml с использованием DownloadPipelineArtifactV2
Чтобы решить эту проблему, попробуйте использовать задачу DownloadPipelineArtifact вместо ключевого слова download :
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Artifact'
inputs:
path: $(Build.SourcesDirectory)
Обновление:
Я заметил ваш yml-файл, похоже, вы не добавляете задание сборки в свой конвейер. Задача DownloadPipelineArtifact используется для:
загрузки артефактов конвейера с более ранних этапов в этом конвейере или из другого конвейера
Итак, нам нужно добавить этап для создания конвейера для генерации артефакта, иначе артефакты конвейера не были загружены.
Проверьте мой тестовый файл YAML:
variables:
ArtifactName: drop
stages:
- stage: Build
jobs:
- job: Build
displayName: Build
pool:
name: MyPrivateAgent
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\LibmanTest'
targetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: LibmanTest'
inputs:
ArtifactName: $(ArtifactName)
- stage: Dev
dependsOn: Build
jobs:
- job: Dev
displayName: Dev
pool:
name: MyPrivateAgent
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\TestSample'
targetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: TestSample'
inputs:
ArtifactName: $(ArtifactName)
- stage: Deployment
dependsOn: Dev
pool:
name: MyPrivateAgent
jobs:
- deployment: Deployment
displayName: DeployA
environment: 7-1-0
strategy:
runOnce:
deploy:
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Artifact'
inputs:
path: $(Build.SourcesDirectory)
Как видите , Я использую два этапа Build
и Dev
, чтобы скопировать проект LibmanTest
и TestSample
как артефакт, затем использую задачу DownloadPipelineArtifact для загрузки этих двух артефактов.
Результат теста:
Update2:
в вашем примере все еще не отображаются ресурсы. Pripelines
Итак, теперь вы хотите загрузить артефакт из других конвейеров, вам не нужно использовать конфигурацию по умолчанию для задачи DownloadPipelineArtifact:
resources:
pipelines:
- pipeline: xxx
project: MyTestProject
source: xxx
trigger:
branches:
include:
- master
jobs:
- deployment: Deployment
displayName: DeployA
environment: 7-1-0
strategy:
runOnce:
deploy:
steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Artifact For Test'
inputs:
buildType: specific
project: MyTestProject
definition: 13
Результат теста:
Кроме того, вы можете проверить конфи из редактора classi c, затем получите файл YAML:
Надеюсь, это хреново.