Cloud customer?
Start for Free >
Upgrade in MyJFrog >
What's New in Cloud >







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 UploadArtifactory 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
  • The new JFrog Tools Installer task now expects the JFrog CLI's Remote repository to be pointing to "https://releases.jfrog.io/artifactory/jfrog-cli/v2-jf/".

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 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 DockerJFrog Docker

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

Overview

Artifactory brings continuous integration to Azure DevOps through the JFrog Artifactory Extension. 

 The JFrog Artifactory extension for Azure DevOps supports:

  • Resolving your build dependencies from Artifactory. 
  • Deploying your build artifacts to Artifactory. 
  • Gaining full traceability of your builds by capturing your build-info from your builds and publishing to Artifactory.

The JFrog Extension requires a licensed instance of Artifactory.


Source Code

The extension is an open-source project on GitHub which you can freely browse and fork.


Installation and Setup

Installing the Extension

The Artifactory extension for Azure DevOps is available in the Visual Studio Marketplace.

To install the Artifactory extension, execute the following steps:

  1. Go to the Visual Studio Marketplace and sign in to your account.
  2. Select the JFrog Artifactory extension located in the Build and Release section.
  3. In the Artifactory Extension page, click Install.
  4. Select the account to which you want to apply the extension and confirm installation.

Installing the Build Agent

To run the Artifactory tasks, the build agents use three tools: 

  • JFrog CLI: Runs all the Artifactory tasks.
  • Maven Extractor: Runs the Artifactory Maven task.
  • Conan client:  Runs the Artifactory Conan task.

Running Artifactory Conan tasks

Any structure on your agent's file. The Artifactory Conan tasks uses the Conan client. The Conan client cannot be installed using the Automatic Installation or the Artifactory Tools Installer but is required to be manually installed. To install Conan on an agent, read the Install Conan section.

The tools can be installed on the build agents using one of the following methods.

Page Contents

Automatic Installation

If the build agent has access to the internet, JFrog CLI and the Maven Extractor are downloaded and installed automatically on the agent the first time they are required.

Artifactory Tools Installer

If your agent has no internet access, you can configure the pipeline to download JFrog CLI and the Maven Extractor from an Artifactory instance, which is configured to proxy the download repositories. 

  1. Create two remote repositories in Artifactory:
    1. A repository for downloading JFrog CLI.
      Set the URL of the JFrog CLI repository to https://releases.jfrog.io/artifactory/jfrog-cli/v1/
    2. A repository for downloading the Maven and Gradle Extractors.
      Set the URL of the Extractors repository to: https://releases.jfrog.io/artifactory/oss-release-local/
    In the following examples, the JFrog CLI repository is set as  jfrog-cli and Maven Extractor repository is extractors. You can rename the two repositories to meet your needs.
  2. Make sure to configure the Artifactory server with the jfrog-cli and extractors repositories in Azure DevOps, as described in the Configuring the Artifactory Service Endpoint section.
  3. Add the Artifactory Tools Installer task to your build or release pipeline.
  4. Select the Artifactory service you configured.
  5. Select jfrog-cli as the target repository to download the JFrog CLI .
    If your pipeline uses the Artifactory Maven or Artifactory Gradle task, select extractors as the repository to download the Maven Extractor.

Manual Installation 

Installing JFrog CLI

The extension runs JFrog CLI in the background to run many of its operations. The extension automatically downloads and installs the JFrog CLI on the build agent the first time it's required. However, if your build agent does not have access to the internet, the build will fail when attempting to download JFrog CLI and you'll need to download and install it manually.

To install JFrog CLI on an agent with no internet access:

  1. Create the directory structure on your agent's file-system: $(Agent.ToolsDirectory)/_jfrog/current/.
  2. Download the latest JFrog CLI version from here. Please make sure to download the executable matching your agent's operating system.
  3. Copy the downloaded JFrog executable to the "current" directory you created.

Installing JFrog CLI

In versions prior to 1.8.2, the JFrog CLI manual installation path is: $(Agent.WorkFolder)/_jfrog/current/

Installing the Maven Extractor 

When triggering the Artifactory Maven task, JFrog CLI automatically downloads the Maven Extractor jar to the build agent the first time it's required. However, if your build agent does not have access to the internet, the build will fail when attempting to download the file. You'll therefore need to download and install it manually.

To install the Maven Extractor jar on an agent with no internet access:

  1. Create the directory structure on your agent's file-system: $(Agent.ToolsDirectory)/_jfrog/.jfrog/dependencies/maven/2.28.6
  2. Download the build-info-extractor-maven3-2.28.6-uber.jar and place it inside the "maven" directory you created.

Installing the Maven Extractor

In plugin versions prior to 1.8.2, Maven Extractor's manual installation path is: $(Agent.WorkFolder)/_jfrog/.jfrog/dependencies/maven/2.13.13

Installing the Gradle Extractor 

When triggering the Artifactory Gradle task, JFrog CLI automatically downloads the Gradle Extractor jar to the build agent the first time it's required. However, if your build agent does not have access to the internet, the build will fail when attempting to download the file. You'll therefore need to download and install it manually.

To install the Gradle Extractor jar on an agent with no internet access:

  1. Create the directory structure on your agent's file-system: $(Agent.ToolsDirectory)/_jfrog/.jfrog/dependencies/gradle/4.24.12
  2. Download the build-info-extractor-gradle-4.24.12-uber.jar and place it inside the "gradle" directory you created.
Installing Conan

For the build agent to be able to run conan builds, do the following:

  1. Access the agent and install conan by following these steps.
  2. Confirm that the conan executable is available in the Path environment variable of the user which runs the build on the agent.

Using TFS 2015

Prerequisites

Node.JS version 8 and above

The build agent requires using Node.JS version 8 and above. To check which version of Node.JS is running on the build agent:

  1. Navigate to the Worker\Handlers\Node folder located under theAgent home.
  2. From the terminal, run node -v.


To upgrade Node.JS on the build agent:

  • Replace the existing node.exe file on the agent with the node.exe file with the required version located in the Worker\Handlers\Node folder under the agent home.

Configuring the JFrog Artifactory and JFrog Distribution Service Connection

To allow your builds to work with JFrog Artifactory, you'll need to configure your JFrog Artifactory instance as a Service Connection. In addition, to use the Distribution task, configure your JFrog Distribution instance as a service connection,

  1. Access your Azure DevOps project and click Project Settings > Pipeline > Service connections > New service connection and select JFrog Artifactory or JFrog Distribution.
  2. Configure the details of the JFrog Artifactory or JFrog Distribution instance. You may configure the connection to use Basic Authentication or an Access Token.


Not Using a Public CA (Certificate Authority)?

This section is relevant for you, if you're not using a public CA (Certificate Authority) to issue the SSL certificate used to connect to your Artifactory domain. You may not be using a public CA either because you're using self-signed certificates or you're running your own PKI services in-house (often by using a Microsoft CA).

In this case, you'll need to make those certificates available for JFrog CLI, which is used by most of Artifactory tasks. To make the certificates available for JFrog CLI, you'll need to place them inside the security/certs directory, which is under JFrog CLI's home directory. The home directory default location is $(Agent.ToolsDirectory)/_jfrog

Read more about this in the JFrog CLI documentation.

Can't Access Artifactory?

Make sure that the URL of the Artifactory instance does not end with a slash.

Still can't access Artifactory?

For security reasons, Artifactory SaaS supports only TLS 1.2. Since not all TFS versions support TLS 1.2, you may need to enable TLS 1.2 on TFS.
To enable TLS 1.2 on TFS:
1. Create a file and name and name it: Microsoft.PowerShell_profile.ps1
2. Add the following line to the file:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

3. Place the file in the following location on the TFS machine: C:\Users\<username>\Documents\WindowsPowerShell

Make sure <username> matches the name of the user running TFS and the build agents.

Downloading Generic Dependencies from Artifactory

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

When configuring the task, do the following:

  1. Select your configured Artifactory service endpoint.
  2. Specify whether you'd like define the File Spec through the task UI or have the task read the spec from a file.
  3. Set the File Spec content or a path to the File Spec.
  4. Set the other task options.
  5. Check the Advanced section for additional options.

Uploading Generic 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 JFrog CLI to perform the upload in the background. 
The artifacts are defined using File Specs and can also be configured to capture build-info as it 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.

When configuring the task, do the following:

  1. Select your configured Artifactory service endpoint.
  2. Specify whether you'd like define the File Spec through the task UI or have the task read the spec from a file.
  3. Set the File Spec content or a path to the File Spec.
  4. Set the other task options.
  5. Check the Advanced section for additional options.

Setting and Deleting Properties on Files in Artifactory

Artifactory allows you to place properties on files. Setting (and deleting) properties is supported by local repositories or local-cache repositories. While you cannot set or delete properties on virtual repositories, you can retrieve them.

The Artifactory Properties task supports setting and deleting properties on files using File Specs.

For more information about managing properties in Artifactory, see Properties

Triggering Builds

You can trigger the following builds.

Triggering Maven Builds

The Artifactory Maven task allows triggering Maven builds, while resolving dependencies and deploying artifacts from and to Artifactory.

The task can also be configured to capture build-info and store the downloaded and uploaded artifacts as build dependencies and build artifacts. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

You also have the option of filtering out some of the Maven artifacts that will be deployed to Artifactory. You do this by defining one or more include patterns. You can also define one or more exclude patterns. The patterns can include wildcards and should separated by a comma followed by a white-space as shown below.

For more information about Maven repositories, see Artifactory Maven Repository.


Triggering Gradle Builds

The Artifactory Gradle task allows triggering Gradle builds, while resolving dependencies and deploying artifacts from and to Artifactory.

The task can also be configured to capture build-info and store the downloaded and uploaded artifacts as build dependencies and build artifacts. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

Behind the scenes, the Artifactory Gradle task uses the Gradle Artifactory Plugin to integrate with the Gradle build. In case your Gradle script already applies the Gradle Artifactory Plugin, set the Use Artifactory Plugin option, to let the task know that it shouldn't apply the plugin in the Gradle script.

You should set artifactoryPublish as one of the Gradle tasks in the Task(s) fields. artifactoryPublish is a task that is exposed by the Gradle Artifactory Plugin, and is used for deploying artifacts as well as publishing build-info to Artifactory.

Triggering Npm Builds

The Artifactory Npm task allows triggering npm builds, while resolving npm dependencies and deploying npm packages from and to Artifactory.

The task can be also configured to capture build-info and store the uploaded files as artifacts in it. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

For information on npm repositories, see Artifactory npm Registry.

Triggering Nuget and .NET Core Builds

The Artifactory Nuget and Artifactory .NET Core tasks allow restoring NuGet packages from Artifactory. These tasks also allow publishing NuGet packages to Artifactory. The tasks can be configured to capture build-info. The build-info stores the restored packages as build dependencies and uploaded packages as build artifacts. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

For more information about Nuget repositories, see Artifactory NuGet Repositories.

Triggering Python Builds Using Pip

The Artifactory Pip task allows installing Pip packages from Artifactory. The tasks can also be configured to capture build-info. The build-info stores the installed packages as build dependencies. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

Recording all dependencies as part of the build-info

When running the Artifactory Pip task inside a Python environment, which already has some of the packages installed, the installed packages will not be included as part of the build-info, if they were not originally installed from Artifactory. A warning message will be added to the build log in this case.

How to include all packages in the build-info?

Running the task for the first time with the Disable local pip cache option checked, should re-download and install these packages, and they will therefore be included in the build-info. It is also recommended to run the command from inside a virtual environment. The Virtual environment setup command field allows this.

 

Behind the scenes, the task uses JFrog CLI as a wrapper for pip. JFrog CLI also includes a caching mechanism, which stores the details of the dependencies locally, making sure they are included in the build-info, even if they are already cached locally. Read more about this here.

Triggering Conan Builds

Conan is a package manager for C and C++.

The Artifactory Conan task allows triggering a conan build while resolving conan dependencies from a conan repository in Artifactory. It also allows publishing conan packages to an Artifactory conan repository. The task can be also configured to capture build-info and store the downloaded and uploaded packages as build dependencies and artifact. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

The tasks supports the config installadd remotecreate and upload conan commands. In addition, it supports a custom option, allowing to configure the task to execute any conan command. The full documentation of cona is available at the conan web site.


For more information about Conan repositories, see Artifactory Conan Repositories.

Triggering Go Builds

The Artifactory Go task allows triggering a go build, while resolving go dependencies from a go repository in Artifactory. It also allows publishing go packages to an Artifactory go repository. The task can be also configured to capture build-info and store the downloaded and uploaded packages as build dependencies and artifact. The captured build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

For more information about Go repositories, see Artifactory Go Repositories.

Pushing and Pulling Docker Images to and from Artifactory

The Artifactory Docker task allows pushing and pulling docker images to and from a docker repository in Artifactory. The task can be also configured to capture build-info for the pushed or pulled image. In addition to details about the build and the build environment, the build info includes the image layers as build dependencies and build artifacts. The task stores build info locally on the build agent. The stored build-info can be later published to Artifactory using the Artifactory Publish Build-Info task.

For more information about Docker and Artifactory, see Artifactory Docker Registry.

Collecting Build Issues

Being able to look at the build which was published to Artifactory, and see all JIRA issues associated with it, is one of the most powerful capabilities of Artifactory when it comes to managing metadata about artifacts builds.

The Artifactory Collect Build Issues task collects the list of tracked project issues (for example, issues stored in JIRA or any other bug tracking systems, and adds these issues to the build-info. The issues are collected by reading the git commit messages from the local git log. Each commit message is matched against a pre-configured regular expression, which retrieves the issue ID and issue summary. The information required for collecting the issues is retrieved from a yaml configuration, which is set as part fo the task. 

Here's the yaml configuration structure.

version: 1
issues:
  trackerName: JIRA
  regexp: (.+-[0-9]+)\s-\s(.+)
  keyGroupIndex: 1
  summaryGroupIndex: 2
  trackerUrl: http://my-jira.com/issues
  aggregate: true
  aggregationStatus: RELEASED
Configuration properties

Property name

Description

VersionThe schema version is intended for internal use. Do not change!
trackerNameThe name (type) of the issue tracking system. For example, JIRA. This property can take any value.

regexp

A regular expression used for matching the git commit messages. The expression should include two capturing groups - for the issue key (ID) and the issue summary. In the example above, the regular expression matches the commit messages as displayed in the following example:

HAP-1007 - This is a sample issue

keyGroupIndex

The capturing group index in the regular expression used for retrieving the issue key. In the example above, setting the index to "1" retrieves HAP-1007 from this commit message:

HAP-1007 - This is a sample issue

summaryGroupIndex

The capturing group index in the regular expression for retrieving the issue summary. In the example above, setting the index to "2" retrieves the sample issue from this commit message:

HAP-1007 - This is a sample issue

trackerUrlThe issue tracking URL. This value is used for constructing a direct link to the issues in the Artifactory build UI.

aggregate

Set to true, if you wish all builds to include issues from previous builds.

aggregationStatus

If aggregate is set to true, this property indicates how far in time should the issues be aggregated. In the above example, issues will be aggregated from previous builds, until a build with a RELEASE status is found. Build statuses are set when a build is promoted using the jfrog rt build-promote command.


The yaml configuration can be either be stored as text as part of the task configuration, or stored in a file. The file can be saved in the source control, and fetched, together with the rest of the sources to the build agent. It can then be accesses and used by this task. 


Publishing Build Info to Artifactory

The Artifactory Generic Download and Artifactory Generic Upload tasks can be configured to collect and store build-info locally. The collected build info can be then published to Artifactory using the Artifactory Publish Build Info task.

For more information about Build Info, see Artifactory Build Integration.

When configuring the task, select your configured Artifactory service endpoints and specify whether you'd like to collect environment variables from the agent and add them to the build-info.

After the build-info is published to Artifactory, it can be accessed from the Artifactory tab in the Build Results.

Promoting Published Builds in Artifactory

To support the artifacts life-cycle, Artifactory supports promoting published builds from one repository to another.

The Artifactory Build 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 Build or Release pipeline.

Run these steps to configure the Artifactory Build Promotion task:

  1. Select the configured Artifactory Service, to which the build has been published.
  2. Specify the name of a Target repository to which the build should be promoted.
  3. Set the Status of the build and optionally add a Comment. These details will be visible as part of the Build History in the Artifactory UI.
  4. (Optional) Set a Source repository for the promotion. 
  5. Unselect the Copy/move build dependencies field to move or copy only the build artifacts the target repository.
  6. To copy and not to move the artifacts to the target repository, select the Copy artifacts option to copy the artifacts to the target repository.
  7. Select Dry run to test the promotion prior to running the build promotion.

BuildInfo

Using Build Promotion in a Release

You can control the life cycle of your artifacts by promoting them from one Artifactory repository to another. Build Promotion can come in handy when embedding it as part of release pipeline in Azure DevOps. To help you achieve this, follow these steps for creating a release which includes the Artifactory Build Promotion task.

  1. Create a new Release.
  2. Click Environment and select a template for the release.
  3. Click Artifact and select Build as the source type.
  4. Fill out the rest of the form details.
  5. If you'd like this release to always use the latest build from Artifactory, select Specify a specific build number as the Default version and select one of the available build number i the Build number list box.
  6. If you'd like to promote a specific build number during the release, select Specify at the time of release creation as the Default version:
  7. If you wish to promote the latest build number, select Specify a specific build number as the Default version and then select any build number. Then, click on the Variables tab and add the ARTIFACTORY_RELEASE_BUILD_NUMBER pipeline variable with LATEST as the value.
  8. Configure the Artifactory Build Promotion task as one of your release pipeline tasks. 
    The task uses a build number which will be selected later on, upon creating a release.
  9. That's it, you're done!
    Now you can create the release. The build number that you'll choose is that one which will be promoted in Artifactory.

Scanning Published Builds with JFrog Xray

The Artifactory Xray Scan task allows triggering a build scan with JFrog Xray. For the build to be scanned, it first needs to be published to Artifactory using the Artifactory Publish BuildInfo task. When the scan is triggered, Artifactory will pass on the build to Xray, which will then scan the build artifacts. The scan is synchronous, meaning it will wait for the scan to finish.

If the Allow fail build task option is set and Xray is configured to fail the build, the build pipeline will fail, if vulnerabilities are found.

After the Xray scan is completed, the report can be accessed from the Artifactory tab in the Build Results.


Using Published Artifacts in a Release

Artifacts which were published to Artifactory can be made available for a Release Pipeline. There are two ways to achieve this.

The first way is to  use the Artifactory Download task to download the files during the release. Read more about this in the Downloading Generic Dependencies from Artifactory section.

You can also set Artifactory as an artifact source for the release. This allows downloading the artifacts for a build which was previously published to Artifactory. Read more about publishing builds to Artifactory in the Publishing Build Info to Artifactory section.

Follow these steps to add Artifactory as an artifact source to a Release.

  1. Create a new Release and click on Artifacts | Add




  2. Select the Artifactory source type.




  3. Select an Artifactory service, a build name, and the default version to use.




    That's it! You're done.
    Now, when initiating the Release, the artifacts associated with the defined build are downloaded to the release agent.

Discarding Published Builds from Artifactory

To discard old runs of a build from Artifactory, add the Artifactory Discard Builds to the pipeline.

Run these steps to configure the task.

  1. Select the configured Artifactory Service, on which you'd like the builds to be discarded.
  2. Type the name of the build.
  3. Optionally set the maximum days to keep build runs. Build runs which are older will be discarded.
  4. Optionally set the maximum number of builds to keep.
  5. Optionally set of build runs in the form of 10,11,12,... to keep and not to discard.
  6. Check the Delete artifacts checkbox, to also delete the build artifacts and not only the build meta-data.
  7. Check the Async checkbox, to make the action asynchronous. In this case, the pipeline will not wait for the action to finish, but the pipeline will not be notified in case of a failure.

Managing and Distributing Release Bundles

JFrog Distribution is a centralized platform that lets you provision software release distribution. It is a core part of JFrog Enterprise+, managing release bundles and their distribution processes, including release content, permission levels, and target destinations. Distribution provides a secure and structured platform to distribute release binaries to multiple remote locations and update them as new release versions are produced. As part of the release flow, release bundles are verified by the target destination to ensure that they are signed correctly and safe to use. 

The Distribution task allows creating, updating, signing and deleting release bundles. It also allows distributing the release to the edge nodes.

  • The task requires configuring your JFrog Distribution instance as a Service Connection in Azure DevOps. You can then set the instance you configured as the Distribution service value in the task.
  • The task triggers JFrog CLI to execute the distribution actions.
  •  When creating or updating a release bundle, you need to provide File Specs defining the artifacts to be included in the release bundle.
  • When distributing a release bundle, you can control the distribution destinations by defining rules distribution rules in a JSON format. Here's an example. 

    Distribution Rules JSON structure
    {
        "distribution_rules": [
          {
            "site_name": "DC-1",
            "city_name": "New-York",
            "country_codes": ["1"]
          },
          {
            "site_name": "DC-2",
            "city_name": "Tel-Aviv",
            "country_codes": ["972"]
          }
        ]
    }

    The Distribution Rules format also supports wildcards. For example: 

    {
        "distribution_rules": [
          {
            "site_name": "*",
            "city_name": "*",
            "country_codes": ["*"]
          }
        ]
    }


Executing JFrog CLI Commands

The extension support a generic JFrog CLI task, which allows executing JFrog CLI commands. The command will use the connection details provided by the selected Artifactory service, so there's no need to provide the connection details as command options.

The task supports commands with the jfrog rt prefix. 

Release Notes

1.13.6 (March 28th, 2022)
  1. Support Nuget protocol configuration on Dotnet tasks.
1.13.5 (February 10th, 2022)
  1. Bug fix: use single quotes on a non windows agent.
1.13.3 (December 6th, 2021)
  1. Node6 to Node10 migration.
1.13.2 (October 11th, 2021)
  1. Bug fix: Support JFrog projects in Artifact Source in release pipelines.
1.13.1 (September 22th, 2021)
  1. Reduced extension size.
  2. Improved tasks documentation.
  3. Upgrade default JFrog CLI version.
1.13.0 (August 10th, 2021)
  1. Add JFrog Projects support for all tasks.
  2. Add support for include/exclude patterns for deployment in Artifactory Maven Task.
1.12.3 (May 25th, 2021)
  1. Bug fix: Artifactory Tools Installer - Make Server ID unique.
1.12.2 (May 3rd, 2021)
  1. Bug fix: Artifactory NuGet Restore task - Configured server deletion failed, which caused similar succeeding tasks to fail.
1.12.1 (May 1st, 2021)
  1. Artifactory NuGet task - use protocol v2 by default and allow selecting the protocol version.
1.12.0 (April 29th, 2021)
  1. New Distribution task and Distribution Service Connection.
  2. Bug fix: Fix custom version in Tools Installer Task.

1.11.8 (April 16th, 2021)
  1. Bug fix: Artifactory Upload can fail with "refname is ambiguous" error

1.11.7 (April 15th, 2021)
  1. Bug fix: Artifactory Download can fail on Windows, when used with the "explode" option.

1.11.6 (April 13th, 2021)
  1. Bug fix: Fix partials build dir path for Conan.

1.11.5 (April 12th, 2021)
  1. Upgrade default JFrog CLI version.

1.11.4 (April 12th, 2021)
  1. Bug fix: Changed JFrog CLI download URL due to Bintray Maintenance.

1.11.2 (December 21st, 2020)
  1. Bug fix: Download and explode fails while inside a docker container.

1.11.1 (December 20th, 2020)
  1. Bug fix: Artifactory NuGet restore is unable to handle spaces in Destination directory.

  2. Bug fix: Gradle task unable to set the deployment repository.
1.11.0 (November 16th, 2020)
  1. New Artifactory Pip task.

  2. Add support for "jfrog rt curl" by the JFrog CLI task.

  3. Allow defining deployment path for NuGet and .Net Push.

1.10.6 (October 1st, 2020)
  1. Improvement: Maven - Skip deployment if no deployer is specified.
1.10.2 (August 13th, 2020)
  1. Bug fix: Invalid deployment repository dropdown list in .net push task.
1.10.1 (August 12th, 2020)
  1. Bug fix: Incorrect custom JFrog CLI version validation.
1.10.0 (June 15th, 2020)
  1. New Artifactory .NET Core task
  2. New JFrog CLI task
  3. Artifactory NuGet task - support for Linux
  4. Artifactory Collect Issues task - added default YAML template
  5. Artifactory Conan task - removed async-await to reduce extension file size
1.9.4 (May 17th, 2020)
  1. Docker - Collect build info with remote repositories
  2. Bug fix: Duplicate layers in Docker build-info.
  3. Bug fix: Retries flag has no affect in upload and download tasks.
  4. Bug fix: Build promote fails with build params as env vars
1.9.2 (April 14th, 2020)
  1. Updated marketplace page.
1.9.0 (March 31st, 2020)
  1. New Artifactory Gradle task.
  2. New Collect Issues task.
  3. Add all JFrog CLI options in GenericDownload/GenericUpload tasks.
  4. Nuget - Allow adding properties to pushed packages.
  5. Bug fix: Fail the Release, if no build artifacts are downloaded from Artifactory, when it is defined as an Artifact Source.
  6. Bug fix: Do not generate a link to Xray when no scan-url is returned in the scan results.
  7. Bug fix: Tools installer may return HTTP error 400.
1.8.3 (March 23rd, 2020)
  1. Allow using the 'regexp' File Spec property on Windows.
  2. Fixed a log masking issue.
1.8.2 (March 23rd, 2020)
  1. JFrog CLI download dir changed to $(Agent.ToolsDirectory) in order to support container jobs.
1.8.1 (November 27th, 2019)
  1. Artifactory artifacts-source allows using ARTIFACTORY_RELEASE_BUILD_NUMBER environment variable to specify build number.
1.7.4 (November 7th, 2019)
  1. Performance improvements of generic tasks.
1.7.3 (November 6th, 2019)
  1. Bug fix: Artifactory Maven task fails quietly due to bug in appending build info flags. 
1.7.2 (November 5th, 2019)
  1. Bug fix: Artifactory Discard builds task fails with 'parsing "undefined": invalid syntax'. 
1.7.1 (November 4th, 2019)
  1. Bug fix: Generic Download task Ver2 not accessible. 
1.7.0 (November 3rd, 2019)
  1. New Artifactory Go task.
  2. New Artifactory Properties task.
  3. Support for Artifactory access tokens.
  4. New link to the Xray Build Report from the Build Result page.
1.6.2 (July 9th, 2019)
  1. Bug fix: Npm task may fail with 'panic: runtime error: index out of range' (new JFrog CLI version).
1.6.1 (July 4th, 2019)
  1. Disable JFrog CLI's usage reporting.
1.6.0 (July 1st, 2019)
  1. New 'npm ci' command in Artifactory Npm task.
  2. Add 'Build info threads' attribute to Npm install task.
  3. Support forward slashes in File Specs on windows agents (new JFrog CLI version).
  4. Nuget build-info - Do not include projects which are detached from the solution (new JFrog CLI version).
1.5.0 (February 3rd, 2019)
  1. Allow downloading JFrog CLI and the Maven Extractor from Artifactory.
  2. Allow setting custom build name and number as part of the Artifactory tasks configuration.
  3. New Artifactory Discard Builds task.
1.4.1 (January 2nd, 2018)
  1. Added Artifactory as an artifacts-source for a release pipeline.
1.3.1 (November 26th, 2018)
  1. New Artifactory Xray Scan task.
  2. Added docker pull support to the Artifactory Docker task.
1.2.2 (October 15th, 2018)
  1. Use vsts-task-tool-lib to download JFrog CLI as a tool.
1.2.1 (October 8th, 2018)
  1. Support HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables when downloading JFrog CLI.
1.2.0 (October 1st, 2018)
  1. New Artifactory Conan task.
  2. New Artifactory Docker task.
1.1.1 (September 12th, 2018)
  1. Fixed nuget push when the nupkg path includes wildcards.
1.1.0 (August 30th, 2018)
  1. New Artifactory Maven, Artifactory NPM and Artifactory Nuget tasks.
  2. Support reading File Specs from files in the Artifactory Download and Upload tasks. 
  3. New "
  4. The "" fields was added to all tasks which support collecting build-info and removed from the Artifactory Publish Info task.
1.0.6 (August 15th, 2018)
  1. Reduced the extension size.
  2. Bug fix - Paths with white-spaces are not working properly on Windows agents.
1.0.4 (August 12th, 2018)
  1. Bug fix: Modified the Artifactory Generic Upload and Download tasks to use System.DefaultWorkingDirectory by default.
  2. Bug fix: Artifactory Generic Upload and Download tasks failed with error on Release.
  3. Artifactory Promotion task: Change Source and Target Repository fields to be drop down lists.
1.0.3 (August 9th, 2018)
  1. Bug fix: Generic Upload and Generic Download tasks on Windows can fail when using variables.
1.0.2 (July 30th, 2018)
  1. New Generic Upload and Generic Download tasks.
  2. New Promotion task.
  3. New Publish Build Info task.
  • No labels
Copyright © 2023 JFrog Ltd.