[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
Mon Oct 1 17:24:43 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 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/ https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jbosstools-promote/
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 - 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/ 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/3.0.0.Beta5/ http://download.jboss.org/jbosstools/updates/development/juno/soa-tooling/modeshape/
See https://issues.jboss.org/browse/JBIDE-12662 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?
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/20121001/daea01b8/attachment.html
More information about the jboss-dev-forums
mailing list