JBoss Community

Promoting JBoss Tools nightly project builds to milestone or stable release

created by Nick Boldt in JBoss Tools Development - View the full document

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} ${TARGET_PLATFORM} ${TARGET_FOLDER} ${PROJECT_NAME}

        or

    . promote.sh ${BUILD_TYPE} ${TARGET_PLATFORM} ${TARGET_FOLDER} ${PROJECT_NAME} SwitchYard-Tools/eclipse

 

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/view/SOA-Team/view/SOAStudio_6.0.juno/job/SwitchYard-Tools-publish/

    https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/SOA-Team/view/SOAStudio_6.0.juno/job/modeshape-tools-continuous-publish/

 

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

Comment by going to Community

Create a new document in JBoss Tools Development at Community