JFrog Artifactory - Visual Studio Marketplace (2024)

We Created a New Extension

General

We have recently released a new extension for Azure DevOps - the JFrog Azure DevOps Extension. The new extension can be installed and used side by side with this extension.If you're already using the Artifactory Azure DevOps Extension, we recommend also installing the new JFrog Azure DevOps Extension, and gradually migrating your tasks from the old extension to the new one.The old extension will continue to be supported, however new functionality will most likely make it into the new extension only.

Why?

We want to make sure new functionality and improvements are added to the extension.However, our primary goal is making sure your pipelines and releases continue to function as expected by maintaining backward compatibility.As more changes were added however, we were approaching the extension size limit.In addition, following the need to start utilizing JFrog CLI v2, which includes breaking changes compared to v1, it seemed like the right time to create a new extension, that can run together with the old one, and allow you to gradually migrate when the time is right for you.

What's changed in the new extension?

  • The new extension utilizes JFrog CLI v2
  • The old extension's Artifactory Generic Upload, Artifactory Generic Download and Artifactory Properties tasks are replaced in the new extension with the JFrog Generic Artifacts task
  • In addition to the above, the new JFrog Generic Artifacts task also supports copying, moving and deleting artifacts on Artifactory
  • The new JFrog Audit task added to the new extension allows auditing your projects for security vulnerabilities with JFrog Xray
  • The new JFrog CLI V2 task can execute any JFrog CLI command, compared to the old JFrog CLI task, which can run only command starting with jfrog rt.

Still missing in the new extension

The Artifactory Docker task hasn't yet been migrated to the new extension. This is because we're currently working on further improving JFrog CLI's integration with the docker client, and would like to expose the new docker functionally to the new extension once that effort is completed. As the old extension is here to stay, you can continue using its Artifactory Docker task.

New vs. old tasks

To help you migrate your tasks from the old Artifactory Extension to the new JFrog Extension, we listed the old vs. new tasks names for you.

Artifactory Extension TaskJFrog Extension Task
Artifactory Tools InstallerJFrog Tools Installer
Artifactory Generic UploadJFrog Generic Artifacts
Artifactory Generic DownloadJFrog Generic Artifacts
Artifactory PropertiesJFrog Generic Artifacts
Artifactory MavenJFrog Maven
Artifactory GradleJFrog Gradle
Artifactory NpmJFrog Npm
Artifactory NugetJFrog Nuget
Artifactory .NET CoreJFrog .NET Core
Artifactory PipJFrog Pip
Artifactory ConanJFrog Conan
Artifactory GoJFrog Go
Artifactory Collect Build IssuesJFrog Collect Build Issues
Artifactory Publish Build InfoJFrog Publish Build Info
Artifactory Build PromotionJFrog Build Promotion
Artifactory Xray ScanJFrog Build Scan
Artifactory Discard BuildsJFrog Discard Builds
DistributionJFrog Distribution
JFrog CLIJFrog CLI V2

Overview

JFrog Artifactory is a Universal Repository Manager supporting all major packaging formats and build tools.

Learn more

Artifactory provides tight integration Azure DevOps through the JFrog Artifactory Extension.In addition to managing efficient deployment of your artifacts to Artifactory,the extension lets you capture information about your build's resolved dependencies and deployed artifacts.Gain full traceability for your builds as the environment data associated with your build is automatically collected.

The extension currently supports the following package managers:Maven, Gradle, npm, NuGet, Docker, Go, Pip and Conan. It also allows downloading and uploading generic files from and to Artifactory.

JFrog Distribution is a centralized platform that lets you provision software release distribution.

Learn more

The JFrog Artifactory Extension also allows managing Release Bundles and their distribution processes, including release content, and target destinations.

Documentation and source code

The full extension documentation is available here.
See the source code is on GitHub.

Downloading generic build dependencies from Artifactory

The Artifactory Generic Download task supports downloading your build dependencies from Artifactory to the build agent.The task triggers the JFrog CLI to perform the download. The downloaded dependencies are defined using File Specsand can be also configured to capture the build-info.It will store the downloaded files as dependencies in the build-info which can later be published to Artifactory using the Artifactory Publish Build-Info task.

JFrog Artifactory - Visual Studio Marketplace (1)

Uploading generic build artifacts to Artifactory

The Artifactory Generic Upload task supports uploading your generated build artifacts from the build agent's local file system to Artifactory.The task triggers the JFrog CLI to perform the upload.The artifacts are defined using File Specs.The task can be also configured to capture build-info and stores the uploaded files as artifacts in the build-info. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

JFrog Artifactory - Visual Studio Marketplace (2)

Triggering NuGet, .NET Core CLI, Maven, Gradle, npm, Go, Pip and Conan builds

The extension adds the following tasks: Artifactory NuGet, Artifactory .NET Core, Artifactory Maven, Artifactory Gradle, Artifactory npm and Artifactory Go to support full build integration with Artifactory. All tasks allow resolving dependencies and deploying artifacts from and to Artifactory. These tasks can also be configured to capture build-info for the build. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

JFrog Artifactory - Visual Studio Marketplace (3)

Pushing and pulling docker images

The Artifactory Docker task allows pushing and pulling docker images to and from Artifactory.The task can also be configured to capture build-info for the build. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

JFrog Artifactory - Visual Studio Marketplace (4)

Setting / deleting properties on files in Artifactory

The Artifactory Properties task allows setting and deleting properties on both files in Artifactory.

JFrog Artifactory - Visual Studio Marketplace (5)

Scanning builds with JFrog Xray

The JFrog Artifactory extension integrates with JFrog Xray through JFrog Artifactory, allowing you to have build artifacts scanned for vulnerabilities and other issues using the Artifactory Xray Scan task.If issues or vulnerabilities are found, you may choose to fail a build.

JFrog Artifactory - Visual Studio Marketplace (6)

Recording tracked issues

Being able to look at the build which was published to Artifactory, and see all the tracked issues (from JIRA for example) associated with it, is one of the most powerful capabilities of Artifactory when it comes to managing metadata about builds. The Artifactory Collect Issues tasks can automatically identify the issues handled in the current build, and record them as part of the build-info. Read more about this unique capability here.

Publishing build-info

Build-info captured in preceding tasks can be published to Artifactory using the Artifactory Publish Build-Info task.The configured build name & number should match the ones specified when the build-info was captured.

JFrog Artifactory - Visual Studio Marketplace (7)

Artifactory supports promoting published builds from one repository to another,to support the artifacts life-cycle.The Artifactory Promotion task promotes a build, by either copying or moving the build artifacts and/or dependencies to a target repository.This task can be added as part of a Release pipeline, to support the release process.

JFrog Artifactory - Visual Studio Marketplace (8)

Discarding published builds

The Artifactory Discard Builds task is used to discard previously published builds from Artifactory.Builds are discarded according to the retention parameters configured in the task.

JFrog Artifactory - Visual Studio Marketplace (9)

Executing JFrog CLI commands

The JFrog CLI task allows executing JFrog CLI commands, while using the pre-configured connection details of JFrog Artifactory, stored in Azure DevOps.

Accessing the Build-Info and the Xray scan report

You can access the build-info from the Build Results in Azure DevOps, if your build pipeline has published the build-info to Artifactory.You can also access the Xray scan report, if your build pipeline is configured to scan the build.

JFrog Artifactory - Visual Studio Marketplace (10)JFrog Artifactory - Visual Studio Marketplace (11)JFrog Artifactory - Visual Studio Marketplace (12)

Releasing published builds

The Artifactory Publish Build-Info task allows publishing builds to Artifactory. By choosing Artifactory as an artifacts source in a Release,you can select a published build, to make its artifacts available for the release.

JFrog Artifactory - Visual Studio Marketplace (13)

Handling Distribution

The Distribution task allows managing release bundles.The task provides the capability to create, update, sign, distribute or delete release bundles from JFrog Distribution.

JFrog Artifactory - Visual Studio Marketplace (14)

I am an expert in Azure DevOps and the JFrog Azure DevOps Extension. I have extensive knowledge and experience in using these tools to manage software development and deployment processes. I can provide you with information related to all the concepts mentioned in this article.

JFrog Azure DevOps Extension

The JFrog Azure DevOps Extension is a new extension released by JFrog for Azure DevOps. It can be installed and used side by side with the existing Artifactory Azure DevOps Extension. The new extension offers additional functionality and improvements, while maintaining backward compatibility with the old extension. The primary goal of the new extension is to ensure that your pipelines and releases continue to function as expected.

Changes in the New Extension

The new extension utilizes JFrog CLI v2, which includes breaking changes compared to v1. The following changes have been made in the new extension:

  1. The old extension's Artifactory Generic Upload, Artifactory Generic Download, and Artifactory Properties tasks have been replaced with the JFrog Generic Artifacts task.
  2. The new JFrog Generic Artifacts task not only supports uploading and downloading artifacts on Artifactory but also allows copying, moving, and deleting artifacts.
  3. The new extension includes the JFrog Audit task, which allows auditing your projects for security vulnerabilities with JFrog Xray.
  4. The new JFrog CLI V2 task can execute any JFrog CLI command, compared to the old JFrog CLI task, which can only run commands starting with "jfrog rt".

Missing Tasks in the New Extension

The Artifactory Docker task has not yet been migrated to the new extension. This is because JFrog is currently working on further improving JFrog CLI's integration with the Docker client. Once this effort is completed, the new extension will expose the new Docker functionality.

Task Migration from Old to New Extension

To help you migrate your tasks from the old Artifactory Extension to the new JFrog Extension, here is a list of the old and new task names:

Artifactory Extension Task JFrog Extension Task
Artifactory Tools Installer JFrog Tools Installer
Artifactory Generic Upload JFrog Generic Artifacts
Artifactory Generic Download JFrog Generic Artifacts
Artifactory Properties JFrog Generic Artifacts
Artifactory Maven JFrog Maven
Artifactory Gradle JFrog Gradle
Artifactory Npm JFrog Npm
Artifactory Nuget JFrog Nuget
Artifactory .NET Core JFrog .NET Core
Artifactory Pip JFrog Pip
Artifactory Conan JFrog Conan
Artifactory Go JFrog Go
Artifactory Collect Build Issues JFrog Collect Build Issues
Artifactory Publish Build Info JFrog Publish Build Info
Artifactory Build Promotion JFrog Build Promotion
Artifactory Xray Scan JFrog Build Scan
Artifactory Discard Builds JFrog Discard Builds
Distribution JFrog Distribution
JFrog CLI JFrog CLI V2

JFrog Artifactory and Azure DevOps Integration

JFrog Artifactory is a Universal Repository Manager that supports all major packaging formats and build tools. It provides tight integration with Azure DevOps through the JFrog Artifactory Extension. The extension allows efficient deployment of artifacts to Artifactory and captures information about your build's resolved dependencies and deployed artifacts. It supports various package managers such as Maven, Gradle, npm, NuGet, Docker, Go, Pip, and Conan. The extension also enables downloading and uploading generic files from and to Artifactory.

JFrog Distribution

JFrog Distribution is a centralized platform that allows you to provision software release distribution. It provides the capability to create, update, sign, distribute, and delete release bundles. The JFrog Artifactory Extension integrates with JFrog Distribution, enabling you to manage release bundles and their distribution processes, including release content and target destinations.

Additional Tasks and Features

The JFrog Artifactory Extension includes several additional tasks and features:

  • The Artifactory Generic Download task allows downloading build dependencies from Artifactory to the build agent's local file system.
  • The Artifactory Generic Upload task supports uploading generated build artifacts from the build agent's local file system to Artifactory.
  • Tasks such as Artifactory NuGet, Artifactory .NET Core, Artifactory Maven, Artifactory Gradle, Artifactory npm, Artifactory Go, and Artifactory Pip enable full build integration with Artifactory, allowing dependency resolution and artifact deployment.
  • The Artifactory Docker task allows pushing and pulling Docker images to and from Artifactory.
  • The Artifactory Properties task allows setting and deleting properties on files in Artifactory.
  • The Artifactory Xray Scan task integrates with JFrog Xray, enabling the scanning of build artifacts for vulnerabilities and other issues.
  • The Artifactory Collect Issues task automatically identifies and records tracked issues associated with a build.
  • The Artifactory Publish Build-Info task allows publishing build-info to Artifactory, providing full traceability and metadata about builds.
  • The Artifactory Promotion task promotes a build by copying or moving artifacts and dependencies to a target repository.
  • The Artifactory Discard Builds task is used to discard previously published builds from Artifactory.
  • The JFrog CLI task allows executing JFrog CLI commands using the pre-configured connection details of JFrog Artifactory.

Accessing Build-Info and Xray Scan Report

The build-info captured in preceding tasks can be accessed from the Build Results in Azure DevOps if the build pipeline has published the build-info to Artifactory. Similarly, the Xray scan report can be accessed if the build pipeline is configured to scan the build.

I hope this information helps you understand the concepts mentioned in the article. If you have any further questions or need more details, feel free to ask!

JFrog Artifactory - Visual Studio Marketplace (2024)
Top Articles
Latest Posts
Article information

Author: Manual Maggio

Last Updated:

Views: 5882

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Manual Maggio

Birthday: 1998-01-20

Address: 359 Kelvin Stream, Lake Eldonview, MT 33517-1242

Phone: +577037762465

Job: Product Hospitality Supervisor

Hobby: Gardening, Web surfing, Video gaming, Amateur radio, Flag Football, Reading, Table tennis

Introduction: My name is Manual Maggio, I am a thankful, tender, adventurous, delightful, fantastic, proud, graceful person who loves writing and wants to share my knowledge and understanding with you.