Hosting plugin

From Eclipsepedia

Jump to: navigation, search

We encourage Hudson plugin developers to host the plugins at https://github.com/hudson-plugins. This makes it easier for the community to help you more easily, as well as to have the community benefit from the plugin. In this way, even when you move on to something else, the community can find someone else to pick up the work. You can take a quick look at how we work for more information.


Contents

Request hosting

The plugin source repositories are hosted at https://github.com/hudson-plugins . The resources needed for the plugin such as Wiki, Issue Management and mailing list are available at https://github.com/hudson-plugins

Simply send e-mail to dev@hudson.java.net and tell us your github ID and plugin name, so that we can create your git repository and give you a commit access to your plugin at GitHub hudson-plugins project. Also create a wiki account for document your plugin details.

Importing source code

If you are using Git, once you get the commit access, you can import your source code:

$ cd path/to/yourplugin
$ git init
$ git add pom.xml src
$ git commit -m "initial import of my plugin"
$ git remote add origin git@github.com:hudson-plugins/YOUR-PLUGIN-NAME.git
$ git push origin master

We also recommend you look around some other plugin's POM file (such as this) to trim off the redundant things.

For example, usually the <groupId> is removed (groupId for the plugin, not the one in the <parent> section), to use the default which is org.jvnet.hudson.plugins <repositories> and <pluginRepositories> can be removed as well. If you need help, contact the dev list.

Adding a Wiki page

see also

A plugin should have its own Wiki page on this wiki, and the URL to the Wiki page should be listed in your POM like this:

<project>
  ...
  <url>http://wiki.hudson-ci.org/display/HUDSON/My+Plugin</url>
</project>

This ensures that the update center will list your plugin correctly.

Give your wiki page a label like "plugin-scm" or "plugin-misc" (click Labels at the bottom of the wiki Edit page and start typing "plugin-" to see all the possible labels). This will ensure the page shows up as a link in the appropriate section of Plugins.

Also be sure to include {hudson-plugin-info:pluginId=your-artifact} at the top of your wiki entry, to have the standard plugin infobox show up on your wiki entry.

You should also include a description of your plugin inside {excerpt} tags, so that it appears in the update center. If your plugin's component in JIRA is different than its artifact ID, use {hudson-plugin-info:pluginId=your-artifact|jiraComponent=your-plugin-component} - if your plugin's source is not in a sub-directory of "plugins" with the same name as your artifact, add "|sourceDir=your-plugin-dir" as well.

Adding Maintainer Information

In your POM, make sure to include developer information, such as:

<project>
  ...
  <developers>
    <developer>
      <id>devguy</id>
      <name>Developer Guy</name>
      <email>devguy@developerguy.blah</email>
    </developer>
  </developers>
</project>

This ensures that the update center and related tools are able to properly display the maintainer for your plugin. The email address is optional (it will be used in the plugin infobox on the wiki if provided in the POM).

Continuous integration builds on the official Hudson-on-Hudson instance

The official Hudson-on-Hudson instance is being replaced. Once it is up and running, to have your plugin built at the official Hudson-on-Hudson instance, http://ci.hudson-ci.org send an email to the dev list and ask to have a CI build set up for your plugin. If you want to have different Maven goals than the default (i.e., "clean install"), please mention that. All plugin CI builds will be set to send build result emails when the build fails or is unstable, with the emails going to whoever has commits in the build or since the last successful build. Until the instance is up and running one of the dev team will tell you how to get your plugin built.

Releasing your plugin

Currently Hudson uses Sonatype Open Source Maven Repository for publishing Plugins. Follow the instruction here

http://wiki.hudson-ci.org/display/HUDSON/Releasing+Hudson+Plugin