spacer Artifactory Plugin

  • Attachments:13
  • Added by Yossi Shaul, last edited by Eli Givoni on Feb 05, 2015  (view change)
Hudson
Home
Downloads
Dev Mailing List
User Forum
IRC
Browse Sources
Report Bug
Documents
Getting Started
Using Hudson
Developing Plugin
Plugins
SCMs
Triggers
Build Tools
Build Wrappers
Notifiers
Reporters
Slave Launchers and Controllers
Uploaders
Other Post-build Actions
Ext. Site Integration
UI Plugins
Page Decorators
Authentication and User Management
Cluster Management and Distributed Build
CLI Extensions
Maven
Misc
Others
Container-specific Notes
Site Map

 

Plugin Information

Plugin ID artifactory
Latest Release 3.1.0
Latest Release Date Feb 5, 2015
Plugin Central Plugin Central 3.2
Sources [External| ]
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla
Hudson Core (latest) 3.2.2

This plugin allows deploying Maven 2, Maven 3, Ivy and Gradle artifacts and build info to the Artifactory artifacts manager.

spacer Reporting Issues
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.

Introduction

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.

Requirements

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.

spacer

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.

spacer

spacer 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.

spacer

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.

spacer 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.

spacer

License Control

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.

Changelog

3.1.0 (5 Feb 2015)

  1. Add support for Gradle 2.x (https://www.jfrog.com/jira/browse/AHUP-15)

1.4.2 (27 Jan 2011)

  1. The plugin now works with Hudson's new native Maven 3 jobs (HAP-130, HAP-131)

1.4.1 (10 Jan 2011)

  1. Synchronize the build retention policy in Artifactory with Hudson's build retention settings (requires Artifactory Pro) (HAP-90)

1.4.0 (09 Jan 2011)

  1. Improved Gradle support
  2. Optimized checksum-based publishing with Artifactory 2.3.2+ that saves redeploying the same binaries (RTFACT-3808)
  3. Remote agent support for Gradle, Maven 3 and Ivy builds (HAP-59, HAP-60, HAP-114)
  4. Configurable ivy/artifact patterns for Ivy builds (HAP-120)

1.3.6 (21 Nov 2010)

  1. Allow specifying include/exclude patterns for published artifacts (HAP-61).
  2. Support for custom Ivy/artifact patterns for Gradle published artifacts (HAP-108).

1.3.5 (7 Nov 2010)

  1. Fixed integration with Hudson maven release plugin. (HAP-93)
  2. Global Artifactory credentials (HAP-53)
  3. Auto preselect target release and snapshot repositories. (HAP-98)

1.3.4 (28 Oct 2010)

  1. Fixed Gradle support

1.3.3 (21 Oct 2010)

  1. Update version of the Gradle extractor.

1.3.2 (19 Oct 2010)

  1. Support for running license checks on third-party dependencies and sending license violation email notifications (HAP-91)

1.3.1 (19 Sep 2010)

  1. Maven 2 and Maven 3 support two target deploy repositories - releases and snapshots (HAP-29)
  2. Maven 2 - Allow deployment even if the build is unstable (HAP-77)
  3. Link to the build info next to each build that deployed build info (HAP-80)
  4. Link to the builds list in the jobs' main page (HAP-41)
  5. Allow skipping the creation and deployment of the build info (HAP-47)

1.3.0 (26 Aug 2010)

  1. New support for Maven 3 Beta builds!

1.2.0 (26 Jul 2010)

  1. New support for Ivy builds! (many thanks to Timo Bingaman for adding the hooks to the the Hudson Ivy Plugin)
  2. Supporting incremental builds (HAP-52)
  3. Testing connection to Artifactory in the main configuration page
  4. Update Hudson dependency to version 1.358
  5. Fixed HAP-51 - tar.gz files were deployed as .gz files

1.1.0 (09 Jun 2010)

  1. Added support for gradle jobs, see: www.jfrog.org/confluence/x/tYK5
  2. Connection timeout setting changed from milliseconds to seconds.
  3. Allow bypassing the http proxy (HUDSON-5892)

1.0.7 (04 Mar 2010)

  1. Improved Artifactory client
  2. Another fix for duplicate pom deployments
  3. Sending parent (upstream) build information
  4. Displaying only local repositories when working with Artifactory 2.2.0+

1.0.6 (16 Feb 2010)

  1. Fixed a bug in the plugin that in some cases skipped deployment of attached artifacts
  2. In some cases, pom were deployed twice
  3. MD5 hash is now set on all files
  4. Dependency type is passed to the build info

1.0.5 (22 Jan 2010)

  1. Using Jackson as JSON generator for BuildInfo (will fix issues with Hudson version 1.340-1.341)

1.0.4 (15 Jan 2010)

  1. Accept Artifactory urls with slash at the end
  2. Fixed JSON object creation to work with Hudson 1.340

1.0.3 (07 Jan 2010)

  1. Using preemptive basic authentication

1.0.2 (22 Dec 2009)

  1. Configurable connection timeout

1.0.1 (16 Dec 2009)

  1. Fixed Artifactory plugin relative location (for images and help files)

1.0.0 (14 Dec 2009)

  1. First stable release

Labels:

plugin-upload plugin-upload Delete
tier3-compat-plugin tier3-compat-plugin Delete
tier3-hudson-plugin tier3-hudson-plugin Delete
Enter labels to add to this page:
spacer  
Looking for a label? Just start typing.

Comments (22)

 
  1. spacer

    Dec 19, 2009

    Thomas Trepper says:

    Hi all, after configuring the servers in the hudson system-configuration it add...

    Hi all,

    after configuring the servers in the hudson system-configuration it added the artifactory-plugin as a build-step in a particulary job, but there is no other action I can check, especially a post-build-action as shown in the picture. If I try to apply with the plugin added as build-step, I get the following stack-trace:

    org.kohsuke.stapler.NoStaplerConstructorException: Unable to find org/jfrog/hudson/ArtifactoryBuilder.stapler. There's no @DataBoundConstructor on any constructor of class org.jfrog.hudson.ArtifactoryBuilder
    at org.kohsuke.stapler.RequestImpl.loadConstructorParamNames(RequestImpl.java:471)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:329)
    at hudson.model.Descriptor.newInstance(Descriptor.java:351)
    at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:633)
    at hudson.util.DescribableList.rebuildHetero(DescribableList.java:164)
    at hudson.model.Project.submit(Project.java:194)
    at hudson.model.FreeStyleProject.submit(FreeStyleProject.java:97)
    at hudson.model.Job.doConfigSubmit(Job.java:967)
    at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:519)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:185)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54)
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:74)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:492)
    at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:180)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:492)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:408)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:117)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
    at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
    at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
    at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
    at org.jvnet.hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:47)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
    at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
    at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
    at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
    at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
    at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
    at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
    at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
    at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
    at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
    at java.lang.Thread.run(Thread.java:619)

    Did I miss anything? (Hudson 1.337; Artifactory 2.1.2; Plugin 1.0.1) spacer

    spacer

    • Permalink
    1. spacer

      Dec 20, 2009

      Yossi Shaul says:

      I tested the plugin with version 1.337 and it works fine. Did you restarted the ...

      I tested the plugin with version 1.337 and it works fine. Did you restarted the server after installat

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.