Configure Azure DevOps for JFrog
Summarize
Summarized using AI
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.
Summary of Configure Azure DevOps for JFrog
This guide explains how to configure your Azure DevOps instance to enable seamless upload and download of artifacts to and from JFrog Artifactory. It covers the required setup steps for integrating Azure DevOps pipelines with JFrog using the JFrog Artifactory plugin, enabling automated artifact management within your CI/CD workflows.
Show less
Configuration Steps
- Install JFrog Artifactory Plugin: Add the JFrog Artifactory plugin to your Azure DevOps instance.
- Create Service Connection: In your Azure DevOps project, navigate to Project settings > Pipelines > Service connections, create a new service connection by selecting the JFrog Artifactory plugin, and enter your JFrog instance URL and credentials (username and password).
Uploading Artifacts from Azure DevOps to JFrog
- In your pipeline stage dedicated to uploading, add the Artifactory Generic Upload task.
- Configure the task to use the created JFrog service connection and specify your artifact file specification (file spec) to define which files to upload and the target repository.
- Enable Collect build info and set the build number to the Azure DevOps
BuildIdparameter. - Add the Artifactory Publish Build Info task next, configured similarly to publish build metadata.
- A sample YAML snippet is provided illustrating the upload stage setup, including the build info collection.
Downloading Artifacts from JFrog to Azure DevOps
- In your pipeline stage for downloading, add the Artifactory Generic Download task.
- Configure it with the JFrog service connection and the file spec detailing which artifacts to download and the target directory.
- Enable Collect build info and assign the build number using the
BuildIdparameter. - Add the Artifactory Publish Build Info task to publish build metadata after download.
- A sample YAML snippet illustrates the download stage configuration.
Key Benefits for ServiceNow Customers
- Automated Artifact Management: Integrates JFrog artifact handling directly into Azure DevOps pipelines for efficient CI/CD workflows.
- Build Info Tracking: Collecting and publishing build info ensures traceability of artifacts linked with builds.
- Simple Configuration: Using the JFrog plugin and service connections streamlines setup without custom scripting.
- Reusable Pipeline Templates: Sample pipeline YAML provided helps quickly implement upload and download stages in your projects.
Configure your Azure DevOps instance to enable upload and download of JFrog artifacts.
The following settings are required in your Azure DevOps instance:
- Install the plugin JFrog Artifactory.
- Select your project and navigate to .
- Select New service connection, search and select the installed JFrog Artifactory plugin, and select Next.
- Enter your JFrog instance details and create a service connection for JFrog.Note:The Username and Password fields must contain the credentials to your JFrog instance entered in the Server URL field.
Upload artifacts from Azure DevOps to JFrog
To upload artifacts:
- Navigate to your project pipeline.
- In your stage for uploading, add the task Artifactory Generic Upload for uploading artifacts.
- For the Artifactory Generic Upload task:
- Select the service connection you created for JFrog.
- In the Spec field, entire your file spec.
- Select the Collect build info check box.
- The Build number field should contain the BuildId parameter.
- Select Add.
- Add the task Artifactory Publish Build Info for publishing build info.
- For the Artifactory Publish Build Info task:
- Select the service connection you created for JFrog.
- The Build number field should contain the BuildId parameter.
- Select Add.
Sample pipeline to upload artifacts from Azure DevOps to JFrog
trigger:
- none
pool:
vmImage: ubuntu-latest
variables:
- group: Variable Group
stages:
- stage: upload_artifact
jobs:
- job: 'upload'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- task: ArtifactoryGenericUpload@2
inputs:
artifactoryService: 'JFrogCloud'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "servicenow-app-devops.zip",
"target": "local-repo"
}
]
}
collectBuildInfo: true
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
failNoOp: true'
- task: ArtifactoryPublishBuildInfo@1
inputs:
artifactoryService: 'JFrogCloud'
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
Download artifacts from JFrog to Azure DevOps
To download artifacts:
- Navigate to your project pipeline.
- In your stage for downloading, add the task Artifactory Generic Download for downloading artifacts.
- For the Artifactory Generic Download task:
- Select the service connection you created for JFrog.
- In the Spec field, entire your file spec.
- Select the Collect build info check box.
- The Build number field should contain the BuildId parameter.
- Select Add.
- Add the task Artifactory Publish Build Info for publishing build info.
- For the Artifactory Publish Build Info task:
- Select the service connection you created for JFrog.
- The Build number field should contain the BuildId parameter.
- Select Add.
Sample pipeline to download artifacts from Azure DevOps to JFrog
trigger:
- none
pool:
vmImage: ubuntu-latest
variables:
- group: Variable Group
stages:
- stage: download_artifact
jobs:
- job: 'download'
steps:
- task: ArtifactoryGenericDownload@3
inputs:
connection: 'JFrogCloud'
specSource: 'taskConfiguration'
fileSpec: |
{
"files": [
{
"pattern": "local-repo/servicenow-app-devops.zip",
"target": "/tmp/"
}
]
}
collectBuildInfo: true
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'
failNoOp: true
- task: ArtifactoryPublishBuildInfo@1
inputs:
artifactoryService: 'JFrogCloud'
buildName: '$(Build.DefinitionName)'
buildNumber: '$(Build.BuildId)'