This doc is in progress and subject to change. ~nickboldt
Publishing SOA/BRMS Tooling components
== STEP ONE :: Nightly Snapshot Build (Continuous Integration) ==
Run your job as you would run a local build, that is, by invoking Maven 3 w/ Tycho 0.15 (or later) against your sources.
Then publish the output of the build to the server using publish.sh - simply run a shell script at the end of the job which does this:
Currently, the publish.sh script that everyone uses assumes a few things:
a) git or svn sources are fetched into ${WORKSPACE}/sources/, not the root ${WORKSPACE} folder
b) all builds will go into http://download.jboss.org/jbosstools/builds/staging/builds/staging/${JOB_NAME}
Invocation of the script is done via Jenkins like this:
cd ${WORKSPACE}/sources/
wget http://anonsvn.jboss.org/repos/jbosstools/trunk/build/publish/publish.sh -q --no-check-certificate -N
. publish.sh
== STEP TWO :: Promoting a Snapshot to Milestone / Release ==
You will need a second job with a "-publish" suffix which will copy your latest nightly to a new location.
Invocation of the script is done via Jenkins like this:
wget http://anonsvn.jboss.org/repos/jbosstools/trunk/build/publish/promote.sh -q --no-check-certificate -N
. promote.sh -BUILD_TYPE build_type -TARGET_PLATFORM target_platform -PROJECT_NAME project_name -TARGET_FOLDER target_folder -SOURCE_PATH source_path
Example jobs (which show how to set up the above job parameters, such as ${TARGET_PLATFORM} or ${BUILD_TYPE}):
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jbosstools-promote/
== Naming conventions ==
Development milestones (x.y.z.Beta2) go here: updates/development/{eclipse-version}/{stream}/
Stable releases (x.y.z.Final) will go in here: updates/{stable|release}/{eclipse-version}/{stream}/
Examples:
http://download.jboss.org/jbosstools/updates/development/indigo/soa-tooling/switchyard/0.6.0/
http://download.jboss.org/jbosstools/updates/development/indigo/soa-tooling/modeshape/3.0.0.Beta1/
http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/
http://download.jboss.org/jbosstools/updates/stable/indigo/soa-tooling/switchyard/0.5.0.Final/
== Integration Builds? ==
In future, we may also have "integration" builds, which are nightlies deemed good enough for
use by downstream developers, but not stable enough (ie., not tested enough) to be released to community as a milestone.
The above process will also work for building then promoting an integration build - it just uses BUILD_TYPE = integration instead of development or stable.
== Composite Sites? ==
When you publish your build, eg., into
http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/
composite metadata will now be generated into
http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/
See https://issues.jboss.org/browse/JBIDE-12662 for details.
== Index Pages? ==
Should the generated sites have a similar look and feel instead of a raw directory listing?
Comments