This plugin allows deploying Maven 2, Maven 3, Ivy and Gradle artifacts and build info to the Artifactory artifacts manager.
Issues for this plugin are managed primarily on the plugin's project under the JFrog JIRA.
Managing independent release versions and having sub-components for each build technology requires the plugin to be a first-level JIRA project, which is currently not possible under the Hudson-provided JIRA.
The Hudson Artifactory Plugin brings Artifactory's Build Integration support to Hudson. This integration allows your build jobs to deploy artifacts automatically to Artifactory and have them linked to the build job that created them.
As part of deployment additional information is recorded by the plugin to give you full visibility of deployed artifacts, used dependencies and information about original build environment. As an important side affect the plugin also supports optimized end-of-build-only deployment.
To learn more about the Artifactory-side of the Hudson Artifactory Plugin, please read the documentation on the JFrog wiki.
This plugin requires Artifactory 2.2.3 or later and Hudson 1.358 or later.
The plugin currently supports Maven 2, Maven 3, Gradle and Ivy-Ant builds.
Configuring Artifactory Server(s)
First, we need to configure the Artifactory server(s) that we will use to deploy artifacts and build info to. We do this on Hudson's system configuration page (Manage Hudson -> Configure System).
Locate the "Artifactory servers" configuration section, click the "Add" button and fill-in the Artifactory url and optionally a username and password that will be used to query Artifactory for a list of target repositories (this is only required if Artifactory is configured not to allow anonymous access).
You can also set the default deployer credentials (and the default resolver credentials used by some build types) that will be used by individual jobs when publishing and resolving to/from Artifactory.
Configuring Maven 2 and Maven 3 Builds
Once at least one Artifactory server is configured we can add the plugin as a post-build step in a Maven 2/3 build. To do this, create or edit a Maven 2/3 build project.
|Maven 3 Support for Hudson < v1.392|
The Hudson Artifactory plugin supports running Maven 3 builds in older versions of Hudson using free-style jobs, using a Maven 3 build step for running a Maven 3 installation configured in the general Hudson configuration, and a build environment section for the Artifactory Maven 3 integration (artifact and build information deployment). This feature is deprecated with newer versions of Hudson, so for Maven 3 builds users are encouraged to configure the Artifactory integration using Hudson's native Maven 2/3 build projects, as explained above.
Configuring Gradle Builds
You can use the Hudson Gradle Plugin (configured under a free-style job) in conjunction with the Hudson Artifactory Plugin and have your Gradle builds resolve artifacts from Artifactory and deploy artifacts and build information to Artifactory.
Configuring Ivy-Ant Builds
By using the Hudson Ivy Plugin together with the Hudson Artifactory Plugin your Ivy builds will publish artifacts and build information to Artifactory whenever an ivy:publish task is executed.
|Install the Hudson Ivy Plugin|
To use the Hudson Artifactory Plugin with Ivy builds you need to install the Hudson Ivy Plugin.
Publishing to your local file cache repository is the best way to go (i.e. you do not need to publish to Artifactory). The plugin will intercept the publish events and will replay them against Artifactory according to the configuration. Using an ivy:publish task that publishes directly to Artifactory will result in (redundant) double publishing.
You use the Artifactory Pro License Control feature to discover and handle third party dependency licensing issues as part of the build.
Check the 'Run license checks' option if wish that Artifactory will scan and check the licenses of all dependencies used by this build. If you wish to inform selected users about any license violations detected while scanning, you may enter a white-spaced list of e-mail addresses to the notification recipients text box.
Watch the Screencast
To see the Hudson Artifactory Integration in action you can watch the following screencast.
1.4.2 (27 Jan 2011)
- The plugin now works with Hudson's new native Maven 3 jobs (HAP-130, HAP-131)
1.4.1 (10 Jan 2011)
- Synchronize the build retention policy in Artifactory with Hudson's build retention settings (requires Artifactory Pro) (HAP-90)
1.4.0 (09 Jan 2011)
- Improved Gradle support
- Optimized checksum-based publishing with Artifactory 2.3.2+ that saves redeploying the same binaries (RTFACT-3808)
- Remote agent support for Gradle, Maven 3 and Ivy builds (HAP-59, HAP-60, HAP-114)
- Configurable ivy/artifact patterns for Ivy builds (HAP-120)
1.3.6 (21 Nov 2010)
- Allow specifying include/exclude patterns for published artifacts (HAP-61).
- Support for custom Ivy/artifact patterns for Gradle published artifacts (HAP-108).
1.3.5 (7 Nov 2010)
- Fixed integration with Hudson maven release plugin. (HAP-93)
- Global Artifactory credentials (HAP-53)
- Auto preselect target release and snapshot repositories. (HAP-98)
1.3.4 (28 Oct 2010)
- Fixed Gradle support
1.3.3 (21 Oct 2010)
- Update version of the Gradle extractor.
1.3.2 (19 Oct 2010)
- Support for running license checks on third-party dependencies and sending license violation email notifications (HAP-91)
1.3.1 (19 Sep 2010)
- Maven 2 and Maven 3 support two target deploy repositories - releases and snapshots (HAP-29)
- Maven 2 - Allow deployment even if the build is unstable (HAP-77)
- Link to the build info next to each build that deployed build info (HAP-80)
- Link to the builds list in the jobs' main page (HAP-41)
- Allow skipping the creation and deployment of the build info (HAP-47)
1.3.0 (26 Aug 2010)
- New support for Maven 3 Beta builds!
1.2.0 (26 Jul 2010)
- New support for Ivy builds! (many thanks to Timo Bingaman for adding the hooks to the the Hudson Ivy Plugin)
- Supporting incremental builds (HAP-52)
- Testing connection to Artifactory in the main configuration page
- Update Hudson dependency to version 1.358
- Fixed HAP-51 - tar.gz files were deployed as .gz files
1.1.0 (09 Jun 2010)
- Added support for gradle jobs, see: http://www.jfrog.org/confluence/x/tYK5
- Connection timeout setting changed from milliseconds to seconds.
- Allow bypassing the http proxy (HUDSON-5892)
1.0.7 (04 Mar 2010)
- Improved Artifactory client
- Another fix for duplicate pom deployments
- Sending parent (upstream) build information
- Displaying only local repositories when working with Artifactory 2.2.0+
1.0.6 (16 Feb 2010)
- Fixed a bug in the plugin that in some cases skipped deployment of attached artifacts
- In some cases, pom were deployed twice
- MD5 hash is now set on all files
- Dependency type is passed to the build info
1.0.5 (22 Jan 2010)
- Using Jackson as JSON generator for BuildInfo (will fix issues with Hudson version 1.340-1.341)
1.0.4 (15 Jan 2010)
- Accept Artifactory urls with slash at the end
- Fixed JSON object creation to work with Hudson 1.340
1.0.3 (07 Jan 2010)
- Using preemptive basic authentication
1.0.2 (22 Dec 2009)
- Configurable connection timeout
1.0.1 (16 Dec 2009)
- Fixed Artifactory plugin relative location (for images and help files)
1.0.0 (14 Dec 2009)
- First stable release