3
votes

In Azure DevOps Pipelines there seem to be two concepts and ways of working with "artifacts" that I can't tell apart.

Pipeline Artifacts

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

Build Artifacts

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

They're just files, so why would we need two specialized ways to deal them?

What's the difference? Do I care?

1
From my understanding there are, as you say, little difference. Build Artifacts however have a special role as input for release pipelines.cYrixmorten

1 Answers

2
votes

The overall plan from Micrososft is to replace build artifacts with pipeline artifacts.

Refer: https://github.com/MicrosoftDocs/vsts-docs/issues/2341#issuecomment-439483135

I would say, stick to pipeline artifacts because it's future proof and you don't want to end up with a pipeline that stopped working all of a sudden.

Currently these are mainly used in the following two use cases (only because people who operate in these areas are comfortable with them);

  • If you are using pure yaml pipelines and if you need the artifact to be available in the next stage of the pipeline then you use Pipeline Artifacts (Next-Gen DevOps).

  • If you want to use the releases section where you need to use the contents from an Artifact then you still need to use build
    artefacts. (Old School TFS DevOps)