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.
ArtifactoryTools 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.
- Create two remote repositories in Artifactory:
- A repository for downloadingJFrog CLI.
Set the URL of the JFrog CLI repository tohttps://releases.jfrog.io/artifactory/jfrog-cli/v1/ - A repository for downloading theMaven and Gradle Extractors.
Set the URL of theExtractors repository to:https://releases.jfrog.io/artifactory/oss-release-local/
- A repository for downloadingJFrog CLI.
- Make sure to configure the Artifactory server with thejfrog-cliandextractorsrepositories in Azure DevOps, as described in theConfiguring the Artifactory Service Endpointsection.
- Add theArtifactoryTools Installer任务to your build or release pipeline.
- Select the Artifactory service you configured.
- Selectjfrog-clias the target repository to download the JFrog CLI .
If your pipeline uses theArtifactoryMavenorArtifactoryGradle任务, selectextractorsas 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:
- Create the directory structure on your agent's
file-system: $(Agent.ToolsDirectory)/_jfrog/current/
. - Download the latest JFrog CLI version fromhere. Please make sure to download the executable matching your agent's operating system.
- 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 theArtifactoryMaven任务, JFrog CLI automatically downloads the Maven Extractor jar to the build agent第一次是必需的。然而,如果你的中方ld 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:
- Create the directory structure on your agent's file-system:$(Agent.ToolsDirectory)/_jfrog/.jfrog/dependencies/maven/2.28.6
- Download thebuild-info-extractor-maven3-2.28.6-uber.jarand 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 theArtifactoryGradle任务, JFrog CLI automatically downloads the Gradle Extractor jar to the build agent第一次是必需的。然而,如果你的中方ld 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:
- Create the directory structure on your agent's file-system:$(Agent.ToolsDirectory)/ / gradle / 4.24.12 _jfrog / .jfrog /依赖关系
- Download thebuild-info-extractor-gradle-4.24.12-uber.jarand place it inside the "gradle" directory you created.
Installing Conan
For the build agent to be able to run conan builds, do the following:
- Access the agent and install conan by followingthese steps.
- 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:
- Navigate to theWorker\Handlers\Nodefolder located under theAgent home.
- From the terminal, runnode -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 theWorker\Handlers\Nodefolder 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,
- Access your Azure DevOps project and clickProject Settings > Pipeline > Service connections>New service connectionand selectJFrog ArtifactoryorJFrog Distribution.
- Configure the details of theJFrog ArtifactoryorJFrog Distributioninstance. 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 theJFrog CLI文件.
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\
Downloading Generic Dependencies from Artifactory
TheArtifactoryGeneric Download任务supports downloading your build dependencies from Artifactory to the build agent.
The task triggersJFrog CLIto perform the download in the background and is defined usingusing File Specsand 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 theArtifactoryPublish Build-Info任务.
When configuring the task, do the following:
- Select your configured Artifactory service endpoint.
- Specify whether you'd like define the File Spec through the task UI or have the task read the spec from a file.
- Set the File Spec content or a path to the File Spec.
- Set the other task options.
- Check theAdvancedsection for additional options.
Uploading Generic Artifacts to Artifactory
TheArtifactoryGeneric Upload任务supports uploading your generated build artifacts from the build agent's local file system to Artifactory.
The task triggersJFrog CLIto perform the upload in the background.
The artifacts are defined usingFile Specsand 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 theArtifactoryPublish Build-Info任务.
When configuring the task, do the following:
- Select your configured Artifactory service endpoint.
- Specify whether you'd like define the File Spec through the task UI or have the task read the spec from a file.
- Set the File Spec content or a path to the File Spec.
- Set the other task options.
- Check theAdvancedsection for additional options.
Setting and Deleting Properties on Files in Artifactory
Artifactoryallows 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.
TheArtifactoryProperties任务supports setting and deleting properties on filesusing File Specs.
For more information about managing properties in Artifactory, seeProperties.
Triggering Builds
You can trigger the following builds.
Triggering Maven Builds
TheArtifactoryMaven任务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 theArtifactoryPublish Build-Info任务.
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, seeArtifactoryMaven Repository.
Triggering Gradle Builds
TheArtifactoryGradle任务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 theArtifactoryPublish Build-Info任务.
Behind the scenes, theArtifactoryGradle任务uses theGradle Artifactory Pluginto integrate with the Gradle build. In case your Gradle script already applies theGradle Artifactory Plugin, set theUse Artifactory Pluginoption, to let the task know that it shouldn't apply the plugin in the Gradle script.
You should setartifactoryPublishas one of the Gradle tasks in theTask(s) fields.artifactoryPublishis 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
TheArtifactoryNpm任务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 theArtifactoryPublish Build-Info任务.
有关npm存储库的信息,明白了Artifactorynpm Registry.
Triggering Nuget and .NET Core Builds
TheArtifactoryNugetandArtifactory.NET Core任务s 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 theArtifactoryPublish Build-Info任务.
For more information about Nuget repositories, seeArtifactoryNuGet Repositories.
Triggering Python Builds Using Pip
TheArtifactoryPip任务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 theArtifactoryPublish Build-Info任务.
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 theDisable local pip cacheoption 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 avirtual environment. TheVirtual environment setup commandfield 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 thishere.
Triggering Conan Builds
Conanis a package manager for C and C++.
TheArtifactoryConan任务可以触发一个柯南resolvi时构建ng 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 theArtifactoryPublish Build-Info任务.
The tasks supports theconfig install,add remote,createanduploadconan commands. In addition, it supports acustomoption, allowing to configure the task to execute any conan command. The full documentation of cona is available at theconan web site.
For more information about Conan repositories, seeArtifactoryConan Repositories.
Triggering Go Builds
TheArtifactoryGo任务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 theArtifactoryPublish Build-Info任务.
For more information about Go repositories, seeArtifactoryGo Repositories.
Pushing and Pulling Docker Images to and from Artifactory
TheArtifactoryDocker任务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 theArtifactoryPublish Build-Info任务.
For more information about Docker and Artifactory, seeArtifactoryDocker Registry.
Collecting Build Issues
Being able to look at thebuildwhich was published to Artifactory, and see all JIRAissuesassociated with it, is one of the most powerful capabilities of Artifactory when it comes to managing metadata about artifactsbuilds.
TheArtifactoryCollect Build Issues任务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'sthe 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 |
---|---|
Version | The schema version is intended for internal use. Do not change! |
trackerName | The 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" retrievesHAP-1007from 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" retrievesthesample issue from this commit message: HAP-1007 - This is a sample issue |
trackerUrl | The 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 thejfrog rt build-promotecommand. |
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
TheArtifactoryGeneric DownloadandArtifactoryGeneric Upload任务s can be configured to collect and store build-info locally. The collected build info can be then published to Artifactory using theArtifactoryPublish Build Info任务.
For more information about Build Info, seeArtifactoryBuild 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 theArtifactorytab 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.
TheArtifactoryBuild Promotion任务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 theArtifactoryBuild Promotion任务:
- Select the configuredArtifactoryService, to which the build has been published.
- Specify the name of aTarget repositoryto which the build should be promoted.
- Set theStatusof the build and optionally add aComment. These details will be visible as part of the Build History in the Artifactory UI.
- (Optional) Set a源repositoryfor the promotion.
- Unselect theCopy/move build dependenciesfield to move or copy only the build artifacts the target repository.
- 复制和工件移动到圆盾t repository, select theCopy artifactsoption to copy the artifacts to the target repository.
- SelectDry runto test the promotion prior to running the build promotion.
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 theArtifactoryBuild Promotion任务.
- Create a new Release.
- ClickEnvironmentand select a template for the release.
- ClickArtifactandselectBuildas the source type.
- Fill out the rest of the form details.
- If you'd like this release to always use the latest build from Artifactory, selectSpecify a specific build numberas theDefault versionand select one of the available build number i theBuild numberlist box.
- If you'd like to promote a specific build number during the release, selectSpecify at the time of release creationas theDefault version:
- If you wish to promote the latest build number, selectSpecify a specific build numberas theDefault versionand then selectany构建数字。然后,单击Variablestab and add theARTIFACTORY_RELEASE_BUILD_NUMBERpipeline variable withLATESTas the value.
- Configure theArtifactoryBuild Promotion任务as one of your release pipeline tasks.
The task uses a build number which will be selected later on, upon creating a release. - 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
TheArtifactoryXray Scan任务allows triggering a build scan with JFrog Xray. For the build to be scanned, it first needs to be published to Artifactory using theArtifactoryPublish BuildInfo任务. 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 theAllow fail build任务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 theArtifactorytab 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.
- Create a new Release and click onArtifacts|Add
- Select theArtifactorysource type.
- 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 theArtifactoryDiscard Buildsto the pipeline.
Run these steps to configure the task.
- Select the configuredArtifactoryService, on which you'd like the builds to be discarded.
- Type the name of the build.
- Optionally set the maximum days to keep build runs. Build runs which are older will be discarded.
- Optionally set the maximum number of builds to keep.
- Optionally set of build runs in the form of 10,11,12,... to keep and not to discard.
- Check theDelete artifactscheckbox, to also delete the build artifacts and not only the build meta-data.
- 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 Distributionis a centralized platform that lets you provision software release distribution. It is a core part of JFrog Enterprise+, managingrelease bundlesand 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.
TheDistribution任务allows creating, updating, signing and deleting release bundles. It also allows distributing the release to the edge nodes.
- The task requires configuring yourJFrog Distributioninstance as aService Connectionin Azure DevOps. You can then set the instance you configured as theDistribution servicevalue in the task.
- The task triggersJFrog CLIto execute the distribution actions.
- When creating or updating a release bundle, you need to provideFile Specsdefining 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 genericJFrog CLI任务, which allows executingJFrog CLIcommands. 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 thejfrog rtprefix.
Release Notes
Release Notes moved tohttps://github.com/jfrog/jfrog-azure-devops-extension/releases
1.13.6 (March 28th, 2022)
- Support Nuget protocol configuration on Dotnet tasks.
1.13.5 (February 10th, 2022)
- Bug fix: use single quotes on a non windows agent.
1.13.3 (December 6th, 2021)
- Node6 to Node10 migration.
1.13.2 (October 11th, 2021)
- Bug fix: Support JFrog projects in Artifact Source in release pipelines.
1.13.1 (September 22th, 2021)
- Reduced extension size.
- Improved tasks documentation.
- Upgrade default JFrog CLI version.
1.13.0 (August 10th, 2021)
- Add JFrog Projects support for all tasks.
- Add support for include/exclude patterns for deployment in Artifactory Maven Task.
1.12.3 (May 25th, 2021)
- Bug fix: Artifactory Tools Installer - Make Server ID unique.
1.12.2 (May 3rd, 2021)
- Bug fix:ArtifactoryNuGet Restore task - Configured server deletion failed, which caused similar succeeding tasks to fail.
1.12.1 (May 1st, 2021)
- Artifactory NuGet v2默认任务——使用协议t and allow selecting the protocol version.
1.12.0 (April 29th, 2021)
- New Distribution task and Distribution Service Connection.
Bug fix: Fix custom version in Tools Installer Task.
1.11.8 (April 16th, 2021)
Bug fix: Artifactory Upload can fail with "refname is ambiguous" error
1.11.7 (April 15th, 2021)
Bug fix: Artifactory Download can fail on Windows, when used with the "explode" option.
1.11.6 (April 13th, 2021)
Bug fix: Fix partials build dir path for Conan.
1.11.5 (April 12th, 2021)
Upgrade default JFrog CLI version.
1.11.4 (April 12th, 2021)
Bug fix: Changed JFrog CLI download URL due to Bintray Maintenance.
1.11.2 (December 21st, 2020)
Bug fix: Download and explode fails while inside a docker container.
1.11.1 (December 20th, 2020)
Bug fix: Artifactory NuGet restore is unable to handle spaces in Destination directory.
- Bug fix: Gradle task unable to set the deployment repository.
1.11.0 (November 16th, 2020)
New Artifactory Pip task.
Add support for "jfrog rt curl" by the JFrog CLI task.
Allow defining deployment path for NuGet and .Net Push.
1.10.6 (October 1st, 2020)
- Improvement: Maven - Skip deployment if no deployer is specified.
1.10.2 (August 13th, 2020)
- Bug fix: Invalid deployment repository dropdown list in .net push task.
1.10.1 (August 12th, 2020)
- Bug fix: Incorrect custom JFrog CLI version validation.
1.10.0 (June 15th, 2020)
- New Artifactory .NET Core task
- New JFrog CLI task
- ArtifactoryNuGet task - support for Linux
- ArtifactoryCollect Issues task - added default YAML template
- ArtifactoryConan task - removed async-await to reduce extension file size
1.9.4 (May 17th, 2020)
- Docker - Collect build info with remote repositories
- Bug fix: Duplicate layers in Docker build-info.
- Bug fix: Retries flag has no affect in upload and download tasks.
- Bug fix: Build promote fails with build params as env vars
1.9.2 (April 14th, 2020)
- Updated marketplace page.
1.9.0 (March 31st, 2020)
- New Artifactory Gradle task.
- New Collect Issues task.
- Add all JFrog CLI options in GenericDownload/GenericUpload tasks.
- Nuget - Allow adding properties to pushed packages.
- Bug fix: Fail the Release, if no build artifacts are downloaded from Artifactory, when it is defined as an Artifact Source.
- Bug fix: Do not generate a link to Xray when no scan-url is returned in the scan results.
- Bug fix: Tools installer may return HTTP error 400.
1.8.3(3月23rd, 2020)
- Allow using the 'regexp' File Spec property on Windows.
- Fixed a log masking issue.
1.8.2 (March 23rd, 2020)
- JFrog CLI download dir changed to $(Agent.ToolsDirectory) in order to support container jobs.
1.8.1 (November 27th, 2019)
- Artifactoryartifacts-source allows using ARTIFACTORY_RELEASE_BUILD_NUMBER environment variable to specify build number.
1.7.4 (November 7th, 2019)
- Performance improvements of generic tasks.
1.7.3 (November 6th, 2019)
- Bug fix: Artifactory Maven task fails quietly due to bug in appending build info flags.
1.7.2 (November 5th, 2019)
- Bug fix: Artifactory Discard builds task fails with 'parsing "undefined": invalid syntax'.
1.7.1 (November 4th, 2019)
- Bug fix: Generic Download task Ver2 not accessible.
1.7.0 (November 3rd, 2019)
- New Artifactory Go task.
- New Artifactory Properties task.
- Support for Artifactory access tokens.
- New link to the Xray Build Report from the Build Result page.
1.6.2 (July 9th, 2019)
- Bug fix: Npm task may fail with 'panic: runtime error: index out of range' (new JFrog CLI version).
1.6.1 (July 4th, 2019)
- Disable JFrog CLI's usage reporting.
1.6.0 (July 1st, 2019)
- New 'npm ci' command in Artifactory Npm task.
- Add 'Build info threads' attribute to Npm install task.
- Support forward slashes in File Specs on windows agents (new JFrog CLI version).
- Nuget build-info - Do not include projects which are detached from the solution (new JFrog CLI version).
1.5.0 (February 3rd, 2019)
- Allow downloading JFrog CLI and the Maven Extractor from Artifactory.
- Allow setting custom build name and number as part of the Artifactory tasks configuration.
- New Artifactory Discard Builds task.
1.4.1 (January 2nd, 2018)
- Added Artifactory as an artifacts-source for a release pipeline.
1.3.1 (November 26th, 2018)
- New Artifactory Xray Scan task.
- Added docker pull support to the Artifactory Docker task.
1.2.2 (October 15th, 2018)
- Use vsts-task-tool-lib to download JFrog CLI as a tool.
1.2.1 (October 8th, 2018)
- Support HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables when downloading JFrog CLI.
1.2.0 (October 1st, 2018)
- New Artifactory Conan task.
- New Artifactory Docker task.
1.1.1 (September 12th, 2018)
- Fixed nuget push when the nupkg path includes wildcards.
1.1.0 (August 30th, 2018)
- New Artifactory Maven, Artifactory NPM and Artifactory Nuget tasks.
- Support reading File Specs from files in the Artifactory Download and Upload tasks.
- New "
- 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)
- Reduced the extension size.
- Bug fix - Paths with white-spaces are not working properly on Windows agents.
1.0.4 (August 12th, 2018)
- Bug fix: Modified the Artifactory Generic Upload and Download tasks to use System.DefaultWorkingDirectory by default.
- Bug fix: Artifactory Generic Upload and Download tasks failed with error on Release.
- ArtifactoryPromotion task: Change Source and Target Repository fields to be drop down lists.
1.0.3 (August 9th, 2018)
- Bug fix: Generic Upload and Generic Download tasks on Windows can fail when using variables.
1.0.2 (July 30th, 2018)
- New Generic Upload and Generic Download tasks.
- New Promotion task.
- New Publish Build Info task.