Version 22

    This page describes the Release Process for JEMS Installer.

    For JEMS Web Installer look at JEMSWebInstaller

     

    1. Dev

     

    1. Update installer version numbers in version.properties.

    2. Build installer by running ant under jems-installer dir.

    3. Update the jbossauto-install.xml according to JEMSInstaller. Dev is supposed to do this prior to tagging so that QA doesn't need to do it.

    4. Commit changes

    5. Tag code base:

        copy -rHEAD https://svn.jboss.org/repos/installer/jems-installer/trunk https://svn.jboss.org/repos/installer/jems-installer/tags/JEMSInstaller_1_2_0_BETA2
        copy -rHEAD https://svn.jboss.org/repos/installer/izpack-listeners/trunk https://svn.jboss.org/repos/installer/izpack-listeners/tags/JEMSInstaller_1_2_0_BETA2
        copy -rHEAD https://svn.jboss.org/repos/installer/izpack-installer/trunk https://svn.jboss.org/repos/installer/izpack-installer/tags/JEMSInstaller_1_2_0_BETA2
    

     

    2. QA

     

    1. Make sure everything according to the QAPreReleaseChecklist is completed.

    2. Checkout installer project by tag, for example,

       https://svn.jboss.org/repos/installer/jems-installer/tags/JEMSInstaller_1_2_0_BETA2 

       

    3. Make sure intaller version numbers are up-to-date in version.properties.

    4. Build installer

      1. For the 1.2.x version just run ant

      2. For the 1.3.x version run ant installer jbpm-installer jbossrules-installer

    5. For the 1.3.x version (media kit release):

      1. Upload the jars to the ftp.jboss.com/jboss-jems-installer/

      2. Notify RH release engineering team (via Andy Miller)

      3. RH release engineering will provide a link to media kit ISO image.

    6. Test all installer's profiles in GUI mode (make sure that server starts up with no errors). In case of 1.3.x release test using ISO image.

    7. Test all installer's profiles in headless mode (make sure that server starts up with no errors).

      1. jBPM and Rules installers require installGroup default. i.e. java -jar jbpm-3.1.2-installer.jar -installGroup default installpath=c:\test

    8. Wish: Test datasource configuration for most popular databases (oracle, mysql, postgresql, mssql)

    9. Compile the release notes

      1. Go to http://jira.jboss.com/jira/browse/JBINSTALL

      2. Select the appropriate version

        1. In the filter view click edit

        2. Change matching resolution to done

        3. Update the view according to the new filter

        4. In the issue navigator tab click on "Release Notes" for the current view

        5. Copy the current release notes

        6. upload the .jar, .MD5 and .SHA-256 to sourceforge

          1. ncftp upload.sf.net

          2. cd incoming

          3. mput .

    10. Create a new jnlp file

      1. SSH to shell.sourceforge.net

      2. cd /home/groups/j/jb/jboss/htdocs/jnlp

      3. Copy an existing jnlp file and change the name to reflect the new release

      4. Edit the file, changing any references to old version numbers

      5. Save the file, then verify that the file gets published and is working correctly

    11. Get the jar signed (This step might be obsolete. Should use rpm-sign going forward)

      1. Email Scott and Eric and ask them to sign the jar, provide the link as well

      2. Jar Signing Instructions

        1. execute the command:  jarsigner -keystore KeystoreName  xxx.jar KeyEntry_friendly_name

          1. "xxx.jar" being the jar file you would like to sign.

          2. "keyentry_name" being the name you assigned to the key entry (alias).

          3. You will be prompted to enter the keystore password.

        2. NOTE: use -J"-Xmx256m" if you get OOM errors

        3. Example:

          1. $ jarsigner -J"-Xmx256m" -keystore codesign.jboss.com.keystore <file.jar> jboss-code-sign

        4. To look at the keystore (to get the friendly name, etc.):

          1. keytool -list -keystore KeystoreName -v

          2. You will be prompted to enter the keystore password.

        5. To verify:

          1. jarsigner -verify -certs Xxx.jar

          2. "xxx.jar" being the jar file that you just signed.

        6. Instructions for JBoss code signing...

          1. download the files from sourceforge.net

          2. sign the jar (see above)

          3. generate the md5 and sha-256 digests using the build.xml file

            1. ant sha

            2. ant md5

      3. Upload signed JAR

        1. $ ncftpput upload.sf.net /incoming file.jar

    12. Edit the file release again in sourceforge by going under admin->file release->Edit Release with new signed jars.

    13. Notify the docs team about the release.

      1. Send a description of the release, a link the jnlp file, and a link to the changelog

    14. Announce the release

      1. Email jboss-dev and make an announcment in the forums.

    15. Copy the src dist from sourceforge to /opt in the qa lab.

    16. Upload JEMS Installer to SourceForge, along with the respective MD5 sums and verify the files are picked up by the mirrors

    17. Update installer CMS with info and links to the new release (https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jemsinstaller)

      1. Add a new <file> element to the https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jemsinstaller/project.xml

      2. Add news entry in the https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jemsinstaller/freezone/projectDescription.html

    18. Update app server CMS with the link to the latest installer (https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jbossas)

      1. Update https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jbossas/freezone/download/index.html

      2. Update the Web Install link on jboss.org with the link to the latest jnlp file

     

    Legacy (Pre-4.0.4.GA) Installer Build Instructions

      1. login to a QA Lab box

        1. issue command 'vncserver'

        2. this will start a vnc server on a given port (look for :1 or :2)

        3. this translates to port 5901 or port 5902

      2. start a new qa session and forward the appropriate port

      3. start the vnc client and load localhost:port

      4. at this point you should be greeted with a remote X desktop

      5. go to your release/version-num/jboss/build/install directory

        1. ant install-izpack

        2. this will install izpack to your local QA lab dir

        3. it will also kick off the installer installation

        4. hit next on the installer screen until you make it to the end of the wizard

      6. change your compiler to java 1.5, build modules aspects, ejb3x, ejb3

      7. in the build/install directory execute command:  ant -Dizpack.home=/path to izpack installation

      8. this will create the the installer jar

      9. test the installer jar with both a 1.4 and 1.5 jdk (IMPORTANT)

        1. java -jar jboss-4.0.x-installer.jar

      10. test the command line configurations as well

        1. java -jar output/jboss-4.0.4.GA-installer

    .jar -installGroup ejb3-clustering installpath=/tmp/jboss-4.0.4.GA

    1. Create a new jnlp file

      1. SSH to shell.sourceforge.net

      2. cd /home/groups/j/jb/jboss/htdocs/jnlp

      3. Copy an existing jnlp file and change the name to reflect the new release

      4. Edit the file, changing any references to old version numbers

      5. Save the file, then verify that the file gets published and is working correctly

        1. test jnlp by going to http://jboss.sourceforge.net/jnlp/jboss-4.0.4.GA-installer.jnlp  replace the installer.jnlp file with correct name

    2. Get the jar signed

      1. Email Scott and Eric and ask them to sign the jar, provide the link as well