Publish Universal Packages from Azure Artifacts feeds
Azure DevOps Services
Universal Packages enable developers to store a wide range of package types beyond traditional formats like NuGet, npm, Python packages, etc. Using Azure CLI, you can publish Universal Packages directly from the command line. These packages can be as large as 4 TiB, but they must always include a name and version number. This article guides you through publishing Universal Packages to your Azure Artifacts feed.
Prerequisites
Product | Requirements |
---|---|
Azure DevOps | - An Azure DevOps organization. - An Azure DevOps project. - Install Azure CLI. - Install the Azure DevOps extension version 0.14.0 or higher. |
Install Azure DevOps extension
Ensure that you have Azure CLI (version 2.10.1 or higher) installed. Then, follow the steps below to install or update the Azure DevOps extension for managing Azure DevOps services from the command line.
Run the following command to install the Azure DevOps extension:
az extension add --name azure-devops
If the Azure DevOps extension is already installed and you want to update it to the latest version, run:
az extension update --name azure-devops
Create a feed
Sign in to your Azure DevOps organization and navigate to your project.
Select Artifacts, and then select Create Feed.
Provide a Name for your feed, choose the Visibility option that defines who can view your packages, check Include packages from common public sources if you want to include packages from sources like nuget.org or npmjs.com, and for Scope, decide whether the feed should be scoped to your project or the entire organization.
Select Create when you're done.
Publish Universal Packages
To publish a Universal Package to your feed, you need to provide a package name and version number.
The package name must be in lowercase, start and end with a letter or number, and can only include letters, numbers, and non-consecutive dashes -
, underscores _
, or periods .
.
Similarly, the package version must also be in lowercase and should not contain build metadata (indicated by a + suffix). See semantic versioning for more details.
Run the following command to publish your Universal Package to your feed:
Project-scoped feed:
az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
Organization-scoped feed:
az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
Note
Universal Packages containing an exceptionally large number of files (100K+) may fail to publish. In this case, we recommend bundling the files into a ZIP or TAR archive to reduce the file count.
View published packages
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, and then select your feed from the dropdown menu. Once the publishing process is successfully completed, your package should be available in your feed.