[jboss-dev-forums] [JBoss Tools Development] - Promoting JBoss Tools nightly project builds to milestone or stable release

Nick Boldt do-not-reply at jboss.com
Fri Sep 21 15:10:24 EDT 2012


Nick Boldt [https://community.jboss.org/people/nickboldt] modified the document:

"Promoting JBoss Tools nightly project builds to milestone or stable release"

To view the document, visit: https://community.jboss.org/docs/DOC-47427

--------------------------------------------------------------
+*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/$ 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 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 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/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/ 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/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/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/development/juno/soa-tooling/modeshape/3.0.0.Beta5/
 http://download.jboss.org/jbosstools/updates/stable/indigo/soa-tooling/switchyard/0.5.0.Final/ 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.

*== Composite Sites? ==*

Well, it's great that we can publish to 

 http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/ http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/

but what about a URL that won't change every time we release? How about

 http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/ http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/
or
 http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/3.0.0.Beta5/ http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/

Good idea. See  https://issues.jboss.org/browse/JBIDE-12662 https://issues.jboss.org/browse/JBIDE-12662

*== Index Pages? ==*

Should the generated sites have a similar look and feel instead of a raw directory listing? 

Yes. See  https://issues.jboss.org/browse/JBIDE-12660 https://issues.jboss.org/browse/JBIDE-12660
--------------------------------------------------------------

Comment by going to Community
[https://community.jboss.org/docs/DOC-47427]

Create a new document in JBoss Tools Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2129]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20120921/e64e1e38/attachment.html 


More information about the jboss-dev-forums mailing list