Overview of artifacts in Azure Pipelines
In Microsoft Team Foundation Server (TFS) 2018 and previous versions, build and release pipelines are called definitions, runs are called builds, service connections are called service endpoints, stages are called environments, and jobs are called phases.
You can publish and consume many different types of packages and artifacts with Azure Pipelines. Your continuous integration/continuous deployment (CI/CD) pipeline can publish specific package types to their respective package repositories (NuGet, npm, Python, and so on). Or you can use build artifacts and pipeline artifacts to help store build outputs and intermediate files between build steps. You can then add onto, build, test, or even deploy those artifacts.
Aside from being published, Build and Release artifacts will be available as long as that Build or Release is retained unless otherwise specified. For more information on retaining Build and Release artifacts, see the Retention Policy documentation.
Supported artifact types
The following table describes supported artifact types in Azure Pipelines.
|Supported artifact types||Description|
|Build artifacts||Build artifacts are the files that you want your build to produce. Build artifacts can be nearly anything that your team needs to test or deploy your app. For example, you've got .dll and .exe executable files and a .PDB symbols file of a .NET or C++ Windows app.|
|Pipeline artifacts||You can use pipeline artifacts to help store build outputs and move intermediate files between jobs in your pipeline. Pipeline artifacts are tied to the pipeline that they're created in. You can use them within the pipeline and download them from the build, as long as the build is retained. Pipeline artifacts are the new generation of build artifacts. They take advantage of existing services to dramatically reduce the time it takes to store outputs in your pipelines. Only available in Azure DevOps Services.|
|Maven||You can publish Maven artifacts to Azure Artifacts feeds or Maven repositories.|
|npm||You can publish npm packages to Azure Artifacts or npm registries.|
|NuGet||You can publish NuGet packages to Azure Artifacts, other NuGet services (like NuGet.org), or internal NuGet repositories.|
|PyPI||You can publish Python packages to Azure Artifacts or PyPI repositories.|
|Symbols||Symbol files contain debugging information for compiled executables. You can publish symbols to symbol servers. Symbol servers enable debuggers to automatically retrieve the correct symbol files without knowing specific product, package, or build information.|
|Universal||Universal Packages store one or more files together in a single unit that has a name and version. Unlike pipeline artifacts that reside in the pipeline, Universal Packages reside within a feed in Azure Artifacts.|
Build and Release artifacts will be available as long as that Build or Release run is retained, unless you specify how long to retain the artifacts. For more information on retaining Build and Release artifacts, see the Retention Policy documentation.
How do I publish and consume artifacts?