ARTIFACTORY: How to configure a NPM remote repository to proxy Azure DevOps NPM Repository
IntroductionThis article describes how to configure a remote npm repository in JFrog Artifactory to proxy an Azure DevOps Artifacts feed. Setting up a proxy allows development teams and CI/CD pipelines to resolve npm packages centrally through Artifactory rather than connecting directly to Azure DevOps.
Step 1: Create an npm Remote Repository in Artifactory
-
Log in to the Artifactory UI. -
Navigate to Administration → Repositories →Create a Repository → Remote and select npm as the package type. -
Fill in the required Basic configuration fields:-
Repository Key: Enter a descriptive name (e.g., azure-remote-test). -
URL: Enter your Azure DevOps npm registry endpoint:
-
Shell
https://pkgs.dev.azure.com/<AZURE_ORG_NAME>/_packaging/<FEED_NAME>/npm/registry/
-
User Name: Leave blank or enter any string (Azure PAT authentication handles the identity). -
Password / Access Token: Paste the Personal Access Token (PAT) created in Azure. -
Enable Token Authentication: Select this checkbox.
Note on Testing Endpoint:
The Test connection button on this page may return a 404 or 405 status code. This is expected behavior for Azure Artifacts endpoints and can be safely ignored.-
Navigate to the Advanced tab and ensure the following settings are enabled:-
Bypass HEAD Requests -
Store Artifacts Locally -
Block Mismatching MIME Types
-
-
Click Save & Finish to create the repository.
Step 2: Configure the npm Client-
Navigate to Platform → Artifactory → Artifacts in the UI. -
Select your newly created remote repository (azure-remote-test) and click Set Me Up. -
Follow the on-screen instructions to authenticate your local npm client against Artifactory.
Step 3: Test Package InstallationRun the following command in your terminal to request a package through your Artifactory remote repository:Textproto
npm install semver --registry https://jpd.local/artifactory/api/npm/azure-remote-test/
Step 4: Verify Package Download in Artifactory UI
-
In the repository tree on the left, expand your remote repository (azure-remote-test-cache). -
Locate the requested package folder (e.g., semver) and verify that the package tarball (semver-x.x.x.tgz) is present.