通过引用 YAML 管道资源中的另一个管道,引用管道发布的所有工件都会自动下载。我不确定如何停止此行为并仅下载所需的工件。仅为所需工件添加下载任务不会停止全套工件的初始下载。
最佳答案
所以你需要的是disabling default behavior作为
Artifacts are only downloaded automatically in deployment jobs. In a regular build job, you need to explicitly use the download step keyword or Download Pipeline Artifact task.
To stop artifacts from being downloaded automatically, add a download step and set its value to none:
steps:
- download: none
然后添加额外的步骤来下载特定的工件。
这是一个例子:
resources:
pipelines:
- pipeline: MultipleArtifact
project: 'DevOps Manual'
source: 'kmadof.devops-manual (64)'
jobs:
- job: Build
pool:
vmImage: 'ubuntu-latest'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'
# Track deployments on the environment.
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-16.04'
# Creates an environment if it doesn't exist.
environment: 'smarthotel-dev'
strategy:
# Default deployment strategy, more coming...
runOnce:
deploy:
steps:
- download: none
- download: MultipleArtifact
artifact: art-1
- checkout: self
- script: echo my first deployment
关于azure-devops - Azure DevOps yaml 管道 : how to download only specific artifacts of a referenced pipeline?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65308235/