Talk:ESciDoc Release Lifecycle

MPDL

Related Servers

 * * = {pubman, virr, faces}

Team

 * check developers availability for release days. If somebody is not in, the release will fail in case of not passed tests.
 * try  for the common_services at least 2 days before the release day
 * send an email with surefire report to the developer with the failed test
 * send release announcement emails to escidoc-dev: [mailto:escidoc-dev@gwdg.de?subject=common_services%20release%20#%20has%20been%20started%20on%20dev common_services] [mailto:escidoc-dev@gwdg.de?subject=pubman%20release%20#%20has%20been%20started%20on%20dev pubman]

common_services

 * 1) svn co https://subversion.mpdl.mpg.de/repos/common/trunk/common_services; cd common_services
 * 2) mvn release:prepare
 * 3) * in case of errors: "no version has been found" run mvn clean instal -DskipTests=true
 * 4) * wrong SNAPSHOT versions should be updated manually, to localize the problem poms answer "no" to the automatic dep resolution
 * run again mvn release:prepare with
 * mvn release:prepare -DpreparationGoals="clean install" or
 * mvn release:prepare -DpreparationGoals="" (tested)
 * 1) interactive labeling: versions, tags, dev-versions
 * 2) mvn release:perform
 * 3) * for an interim release, use mvn release:perform -Dgoals="deploy" -Darguments="-DskipTests=true" to omit default  goal and skip tests already done by
 * 4) * to deploy a module with failed build, use cd target/checkout/; mvn deploy -DskipTests=true
 * 5) * loooooooooooooooooooooooooong delay. Edelstoff aufmachen. :)
 * 6) mvn clean deploy (to publish the snapshot version)
 * 7) run & check common_services module on continuum (optional)

pubman

 * 1) svn co https://subversion.mpdl.mpg.de/repos/pubman/trunk/pubman; cd pubman
 * 2) set common_services dependencies to non -SNAPSHOT manually in the pubman POMs
 * TODO: Script or try eclipse pom.xml plugin
 * Done: bash script + saxonb-xslt utitlity + xslt
 * 1) mvn release:prepare
 * 2) * in case of errors: "no version has been found" run mvn clean install -DskipTests=true
 * 3) * wrong SNAPSHOT versions should be fixed manually, to localize the problem answer "no" to the automatic dep resolution
 * 4) * mvn release:prepare can be run again with
 * mvn release:prepare -DpreparationGoals="clean install"
 * Check local maven repo whether release artifacts are there!!!
 * or mvn release:prepare -DpreparationGoals="" (tested)
 * 1) interactive labeling: versions, tags, dev-versions
 * 2) mvn release:perform -Dgoals=deploy
 * 3) * for an interim release, use mvn release:perform -Dgoals="deploy" -Darguments="-DskipTests=true" to omit default  goal and skip tests already done by
 * 4) * in case of errors: "no version has been found"
 * run mvn release:rollback
 * remove mentioned subversion tag from subversion repository (with repository browser from https://subversion.mpdl.mpg.de/repos/pubman/tags)
 * start over with mvn release:prepare -DpreparationGoals="clean install"
 * 1) * in case of errors: "Missing: 1) de.mpg.escidoc.pubman:pubman_presentation:war: "
 * cd pubman_presentation
 * downgrade manually pubman_presentation/pom.xml to asked
 * mvn clean deploy
 * set back pubman_presentation/pom.xml to -SNAPSHOT
 * cd .. and start over with mvn release:perform -Dgoals=deploy
 * 1) mvn clean deploy (to publish the snapshot version to archiva)
 * 2) check archiva for SNAPSHOT/RELEASE packages availability
 * 3) dev-pubman: remove all old ears, leave only last SNAPSHOT ear, restart jboss (TODO: script)
 * 4) qa-pubman: wget release ear, remove all old ears, check release log colab page (properties, data-source files, configurations, etc.), restart jboss (TODO: script)
 * 5) set common_services dependencies back to next version number -SNAPSHOT (e.g. 1.0.2 => 1.0.3-SNAPSHOT)  manually in the pubman POMs and commit to SVN svn commit -m 'common_services artifacts to _SNAPSHOTS' */pom.xml
 * Created bash script + saxonb-xslt utitlity + xslt
 * 1) [mailto:escidoc-dev@gwdg.de?subject=new%20pubman%20release%20on%20DEV%20(#-SNAPSHOT)%20and%20QA%20(#)&body=Dear%20developers,%0Aplease,%20update%20your%20workspaces%20and%20rebuild%20common_logic%20and%20pubman%20projects. mail to developers]
 * 1) [mailto:escidoc-dev@gwdg.de?subject=new%20pubman%20release%20on%20DEV%20(#-SNAPSHOT)%20and%20QA%20(#)&body=Dear%20developers,%0Aplease,%20update%20your%20workspaces%20and%20rebuild%20common_logic%20and%20pubman%20projects. mail to developers]

virr

 * 1) svn co https://subversion.mpdl.mpg.de/repos/virr/trunk/virr; cd virr
 * 2) set common_services dependencies to non -SNAPSHOT manually in the pubman POMs
 * TODO: Script or try eclipse pom.xml plugin
 * 1) mvn release:prepare
 * 2) * in case of errors: "no version has been found" run mvn clean install -DskipTests=true
 * 3) * wrong SNAPSHOT versions should be fixed manually, to localize the problem answer "no" to the automatic dep resolution
 * 4) * mvn release:prepare can be run again with
 * mvn release:prepare -DpreparationGoals="clean install"
 * Check local maven repo whether release artifacts are there!!!
 * or mvn release:prepare -DpreparationGoals="" (tested)
 * 1) interactive labeling: versions, tags, dev-versions
 * 2) mvn release:perform -Dgoals=deploy
 * 3) * in case of errors: "no version has been found"
 * run mvn release:rollback
 * remove mentioned subversion tag from subversion repository (with repository browser from https://subversion.mpdl.mpg.de/repos/virr/tags)
 * start over with mvn release:prepare -DpreparationGoals="clean install"
 * 1) mvn clean deploy (to publish the snapshot version to archiva)
 * 2) check archiva for SNAPSHOT/RELEASE packages availability
 * 3) dev-virr: remove all old ears, leave only last SNAPSHOT ear, restart jboss (TODO: script)
 * 4) qa-virr: wget release ear, remove all old ears, check release log colab page (properties, data-source files, configurations, etc.), restart jboss (TODO: script)
 * 5) set common_services dependencies back to next version number -SNAPSHOT (e.g. 1.0.2 => 1.0.3-SNAPSHOT)  manually in the pubman POMs.

LIVE Release

 * 1) Update eSciDoc download page. Check it later here.
 * 2) cd pubman; mvn clean site-deploy
 * 3) Copy documentation from    to  . (check here).
 * 4) Update [ Download PubMan] page:
 * 5) Copy ear to the appropriate live instance and check the configuration

Links

 * Maven Release Plugin, guide
 * MPDL IT Infrastructure has all MPDL servers.
 * eSciDoc API documentation
 * Selenium