Hudson CI Packaging and Integration
Hudson provides a flexible, scalable continuous integration tool-set; As the open-source CI tool of choice for Java developers, Ubuntu needs to support this stack.
Hudson also has use cases outside of Java development (including Python development) through the large number of plugins available for the tool-set.
Blueprint information
- Status:
- Complete
- Approver:
- Robbie Williamson
- Priority:
- High
- Drafter:
- James Page
- Direction:
- Approved
- Assignee:
- James Page
- Definition:
- Approved
- Series goal:
- Accepted for natty
- Implementation:
- Implemented
- Milestone target:
- ubuntu-11.04-beta-1
- Started by
- Robbie Williamson
- Completed by
- Robbie Williamson
Whiteboard
Update (08/03/2011):
* Various misc updates to jenkins package in PPA - see http://
* Plugin packaging approach developed (warning: not elegant by any means) - https:/
* ssh-slaves, bazaar and url-change-trigger plugins packaged.
* Dependency analysis of ec2-plugin completed
Previous Update:
* Hudson and Jenkins has now gone separate ways; Hudson is technically the fork as Jenkins is the rename.
* Split in terms of key supporters: Maven founder has stuck with Oracle, however project founder and majority of community are sticking with Jenkins.
* Ubuntu packaging will align to Jenkins (polled in ubuntu-users) as this does not have the same trademark issues which would make it hard to get this into Debian longer term.
* Current status; Jenkins 1.396 package now available in ppa:hudson-
* txw2 - source build but bundles dependent JAR files.
* forehead - used way down the dependency chain; no source available but can probably be removed.
* htmlunit - used for HTML unit testing in some dependencies; currently a binary package needs to be transitioned to build from source.
* The current Jenkins build does not run the unit tests or the larger integration testing module.
* The current Jenkins build does not build and include the Maven2,3 plugins
* Plugin downloads are not currently disabled.
Summary Objectives for Packaging:
* Base hudson package build from source located in PPA
* Disabling testing may significantly reduce dependencies.
* Disable plugin management through the user interface.
* Input from upstream where dependencies have been forked (-hudson).
* hudson-slave package (to ease installation of dependencies)
* hudson-tomcat package to integrate with tomcat.
* Selected plugins built from source located in PPA
* bzr plugin
* uec/ec2 plugin (to be replaced by jcloud plugin when it exists)
* git plugin
* ssh slave plugin
* url monitor plugin
* launchpad plugin when it exists
* code coverage (cobertura) plugin
Launchpad Teams:
* https:/
* https:/
Work items for natty-alpha-3:
[james-page] evaluate effort in each packaging approach (build from source, build runtime from source) : DONE
[james-page] setup teams and mailing list for users and maintainers : DONE
Package libembedded-
Package libforehead-java 1.0-beta-5 (unable to find source for this project) binary package: DONE
Package libhudson-
Package libhudson-
Package libmaven2.
Package libmetainf-
Package libmock-
Package libaccess-
Package libakuma-java 1.2 (https:/
Package libanimal-
Package libmaven-
Package libmaven-
Package libanimal-
Package libannotation-
Package libargs4j-java 2.0.16 (http://
Package libcommons-
Package libhudson-
Package libcommons-
Package libcommons-
Package libcommons-
Package libcrypto-util-java 1.0 (https:/
Package libembedded_
Package libgraph-
Package libguava-java r06 (http://
Package libjsr305-java 0.1+svn50 (http://
Package libjcaptcha-java 1.0-RC6(now 2.0-alpha1) (http://
Package libkohsuke-
Package libjinterop-proxy 1.1 (https:/
Package libjinterop-
Package libjstl-java 1.1.0 (https:/
Package liblibpam4j-java 1.2 (https:/
Package liblibzfs-java 0.5 (https:/
Package liblocalizer-java 1.12 (http://
Package libmemory-
Package librobust-
Package libsezpoz-java 1.8 (https:/
Package libstapler-
Package libstapler-java 1.152 (http://
Package libmaven-
Package libtextile-j-java (now part of mylyn) binary package: DONE
Package libhudson-
Package libtask-
Package libtiger-types-java 1.3 (http://
Package libtrilead-
Package libhudson-
Package libtxw2-java 20070624 (https:/
Package libwindows-
Package libwinp-java 1.14 (https:/
Package libbridge-
Update packaging for libezmorph-java to generate maven artifacts: DONE
Update packaging for libjson-java to generate maven artifacts: DONE
Update packaging for libcommons-
Update packaging for libjhlabs-
Update packaging for jmdns to generate maven artifacts: DONE
Update packaging for libjfreechart-java to generate maven artifacts: DONE
Update packaging for libjna-posix-java to generate maven artifacts: DONE
Update packaging for libjcommon-java to generate maven artifacts: DONE
Package libhudson-
Package libhudson-json-java 2.1-rev6 (https:/
Update packaging for xom to generate maven artifacts: DONE
Update packaging for jettison to generate maven artifacts: DONE
Update packaging for woodstox to generate maven artifacts (not change in Debian for this don't submit): DONE
Update packaging for joda-time to generate maven artifacts: DONE
Update packaging for libspring-
Update packaging for libspring-ldap-java to generate maven artifacts: DONE
Package libhudson-
Package libmaven-
Package libmaven-hpi-plugin (may do this as binary package as does not ship in Hudson): DONE
Package acegi-security 1.0.7 (http://
Package hudson-
Package hudson-winstone (http://
Package jenkins 1.396 (http://
Push all new packages to ubuntu-hudson testing PPA: DONE
Work items for ubuntu-
Package jenkins-slave 1.396 : DONE
Package jenkins-tomcat 1.396 : DONE
Develop approach to packaging Hudson plugins: DONE
Package bazaar-1.16 plugin (https:/
Package ssh-slaves-0.14 plugin (https:/
Package url-change-
Package libsubversion-java 1.11 plugin (https:/
Package jenkins-svnkit 1.3.4-hudson-2 (http://
Package ec2-1.10 plugin (https:/
Package typica (http://
Package java-xmlbuilder (http://
Package git-0.7.3 plugin (https:/
Package cobertura-1.0 plugin (https:/