Package feed
What it is
A package feed is a container in Azure Artifacts that stores packages and their versions (NuGet, npm, Maven, Python, Cargo, Go, Universal) along with views, retention settings, and access permissions. Feeds are the mechanism teams use to publish, share, and consume internal packages and to cache upstream dependencies.
Why it exists
Feeds give teams a single, versioned, permission-controlled source of truth for packages. They replace copying DLLs/JARs around or each build hitting a public registry — both of which make builds non-reproducible and ungovernable.
Key ideas
- Scope — a feed is scoped to a project or the organization. Organization-scoped feeds can be consumed by any project in the org.
- Views — immutable snapshots (e.g.
@Local,@Prerelease,@Release) used to promote packages and control what consumers see. - Permissions — per-feed roles: Owners, Contributors (can publish), and Readers (can consume).
- Upstream sources — a feed can declare upstreams (public registries or other feeds) so it also serves cached external packages.
- Retention — set retention limits to prune old versions automatically.
- Version immutability — once a package version is published to a feed it cannot be overwritten; it can only be unlisted, deprecated, or deleted (with a newer version).
How it fits
Exam notes
- Choose project vs. organization scope based on sharing needs — org feeds are the default recommendation for org-wide reuse.
- Views are the supported way to do package promotion (e.g. promoting a package to
@Release). - A feed with upstream sources serves both your own packages and cached public ones through one endpoint.
Related
azure-artifacts · upstream-sources · dependency-management · semantic-versioning · pipeline-integration
📘 Source: Microsoft Learn — Package Feed