old.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. .. _release_guide_old:
  2. Manual Release (Deprecated)
  3. ===========================
  4. .. warning::
  5. This release guide is deprecated and only kept currently for reference resources. See the :ref:`official release guide <release_guide>` for current practices.
  6. Before you start
  7. ----------------
  8. GeoTools release
  9. ^^^^^^^^^^^^^^^^
  10. For any non-beta release (including release candidates) a GeoServer release requires a corresponding GeoTools release. Therefore before you start you should coordinate a GeoTools release. Either performing the release yourself or asking on the GeoTools devel list for a volunteer to perform the release.
  11. TODO: point to geotools release docs
  12. Notify developer list
  13. ^^^^^^^^^^^^^^^^^^^^^
  14. It is good practice to notify the `GeoServer developer list <https://lists.sourceforge.net/lists/listinfo/geoserver-devel>`_ of the intention to make the release a few days in advance, even though the release date has been agreed upon before hand.
  15. Prerequisites
  16. -------------
  17. The following are necessary to perform a GeoServer release:
  18. #. Commit access to the GeoServer `Git repository <https://Github.com/geoserver/geoserver>`_
  19. #. Build access to `Hudson <http://hudson.opengeo.org/hudson>`_
  20. #. Edit access to the GeoServer `Blog <http://blog.geoserver.org>`_
  21. #. Administration rights to `GeoServer JIRA <https://jira.codehaus.org/browse/GEOS>`_
  22. #. Release/file management privileges in `SourceForge <https://sourceforge.net/projects/geoserver/>`_
  23. Versions and revisions
  24. ----------------------
  25. When performing a release we don't require a "code freeze" in which no developers can commit to the repository. Instead we release from a revision that is known to pass all tests, including unit/integration tests as well as CITE tests.
  26. To obtain the GeoServer and Geotools revisions that have passed the `CITE test <http://hudson.opengeo.org/hudson/view/cite/>`_, navigate to the latest Hudson run of the CITE test and view it's console output and select to view its full log. For example::
  27. http://hudson.opengeo.org/hudson/view/cite/job/cite-wfs-1.1-master/526/consoleFull
  28. Perform a search on the log for 'Git revision' and you should obtain the following.::
  29. version = 2.4-SNAPSHOT
  30. Git revision = 68cbe445ca378e0dd04405870ef95c852189c1b0
  31. Git branch = 68cbe445ca378e0dd04405870ef95c852189c1b0
  32. build date = 08-Jul-2012 03:36
  33. geotools version = 9-SNAPSHOT
  34. geotools revision = 9517eebf412ce5cda354e7945672293c37cddcc4
  35. Since most GeoServer releases require an official GeoTools release the GEoTools revision is usually not needed. But if performing a beta release it is
  36. allowed to release directly from a specific GeoTools revision.
  37. Build the Release
  38. -----------------
  39. Run the `geoserver-release <http://hudson.opengeo.org/hudson/job/geoserver-release/>`_ job in Hudson. The job takes the following parameters:
  40. **BRANCH**
  41. The branch to release from, "2.2.x", "2.1.x", etc... This must be a stable branch. Releases are not performed from the main development branch.
  42. **REV**
  43. The Git revision number to release from. eg, "24ae10fe662c....". If left blank the latest revision (ie HEAD) on the ``BRANCH`` being released is used.
  44. **VERSION**
  45. The version/name of the release to build, "2.1.4", "2.2", etc...
  46. **GT_VERSION**
  47. The GeoTools version to include in the release. This may be specified as a version number such as "8.0" or "2.7.5". Alternatively the version may be specified as a Git branch/revision pair in the form ``<branch>@<revision>``. For example "main@36ba65jg53.....". Finally this value may be left blank in which the version currently declared in the geoserver pom will be used (usually a SNAPSHOT). Again if performing a non-beta release this version must be a version number corresponding to an official GeoTools release.
  48. **GWC_VERSION**
  49. The GeoWebCache version to include in the release. This may be specified as a version number such as "1.3-RC3". Alternatively the version may be specified as a Git revision of the form ``<branch>@<revision>`` such as "master@1b3243jb...". Finally this value may be left blank in which the version currently declared in the geoserver pom will be used (usually a SNAPSHOT).Git Again if performing a non-beta release this version must be a version number corresponding to an official GeoTools release.
  50. **GIT_USER**
  51. The Git username to use for the release.
  52. **GIT_EMAIL**
  53. The Git email to use for the release.
  54. This job will checkout the specified branch/revision and build the GeoServer
  55. release artifacts against the GeoTools/GeoWebCache versions specified. When
  56. successfully complete all release artifacts will be uploaded to the following
  57. location::
  58. http://gridlock.opengeo.org/geoserver/release/<RELEASE>
  59. Additionally when the job completes it fires off two jobs for building the
  60. Windows and OSX installers. These jobs run on different hudson instances.
  61. When those jobs complete the ``.exe`` and ``.dmg`` artifacts will be uploaded
  62. to the location referenced above.
  63. Test the Artifacts
  64. ------------------
  65. Download and try out some of the artifacts from the above location and do a
  66. quick smoke test that there are no issues. Engage other developers to help
  67. test on the developer list.
  68. Release in JIRA
  69. ---------------
  70. Run the `geoserver-release-jira <http://hudson.opengeo.org/hudson/job/geoserver-release-jira/>`_ job in Hudson. The job takes the following parameters:
  71. **VERSION**
  72. The version to release, same as in the previous section. This version must match a version in JIRA.
  73. **NEXT_VERSION**
  74. The next version in the series. All unresolved issues currently fils against ``VERSION`` will be transitioned to this version.
  75. **JIRA_USER**
  76. A JIRA user name that has release privileges. This user will be used to perform the release in JIRA, via the SOAP api.
  77. **JIRA_PASSWD**
  78. The password for the ``JIRA_USER``.
  79. This job will perform the tasks in JIRA to release ``VERSION``. Navigate to `JIRA <https://osgeo-org.atlassian.net/projects/GEOS>`__ and verify that the version has actually been released.
  80. Publish the Release
  81. -------------------
  82. Run the `geoserver-release-publish <https://build.geoserver.org/view/release/job/geoserver-release-publish/>`__ in Jenkins. The job takes the following parameters:
  83. **VERSION**
  84. The version being released. The same value s specified for ``VERSION`` when running the ``geoserver-release`` job.
  85. **BRANCH**
  86. The branch being released from. The same value specified for ``BRANCH`` when running the ``geoserver-release`` job.
  87. This job will rsync all the artifacts located at::
  88. http://gridlock.opengeo.org/geoserver/release/<RELEASE>
  89. to the SourceForge FRS server. Navigate to `Sourceforge <http://sourceforge.net/projects/geoserver/>`__ and verify that the artifacts have been uploaded properly. Set the necessary flags on the ``.exe``, ``.dmg`` and ``.bin`` artifacts so that they show up as the appropriate default for users downloading on the Windows, OSX, and Linux platforms.
  90. Announce the Release
  91. --------------------
  92. Mailing lists
  93. ^^^^^^^^^^^^^
  94. .. note:: This announcement should be made for all releases, including betas and release candidates.
  95. Send an email to both the developers list and users list announcing the
  96. release. The message should be relatively short. The following is an example::
  97. Subject: GeoServer 1.7.1 Released
  98. The GeoServer team is happy to announce the release of GeoServer 1.7.1.
  99. The release is available for download from http://geoserver.org/release/1.7.1/
  100. This release comes with some exciting new features. The new and
  101. noteworthy include:
  102. * KML Super Overlay and Regionating Support
  103. * KML Extrude Support
  104. * KML Reflector Improvements
  105. * Mac OS X Installer
  106. * Dutch Translation
  107. * Improved Style for Web Admin Interface
  108. * New SQL Server DataStore Extension
  109. * Improved Oracle DataStore Extension
  110. * Default Templates per Namespace
  111. Along with many other improvements and bug fixes. The entire change log
  112. for the 1.7.1 series is available in GitHub:
  113. https://github.com/geoserver/geoserver/releases/tag/1.7.1
  114. A very special thanks to all those who contributed bug fixes, new
  115. features, bug reports, and testing to this release.
  116. --
  117. The GeoServer Team
  118. SourceForge
  119. ^^^^^^^^^^^
  120. .. note:: This announcement should be made for all releases, including betas and release candidates.
  121. #. Log in to `SourceForge <http://sourceforge.net/account/login.php>`__.
  122. #. Edit the release, and scroll down to the bottom of the page.
  123. #. Check the **I'm sure** check box, and click the **Send Notice** button.
  124. .. figure:: sfnotice.png
  125. :align: center
  126. #. Repeat for the extension release.
  127. GeoServer Blog
  128. ^^^^^^^^^^^^^^
  129. .. note:: This announcement should be made for all releases, including betas and release candidates.
  130. .. note::
  131. This step requires an account on http://blog.geoserver.org
  132. #. Log into the `GeoServer Blog <http://blog.geoserver.org/wp-login.php>`_.
  133. #. Create a new post. The post should be more "colorful" than the average
  134. announcement. It is meant to market and show off any and all new
  135. features. Examples of previous posts:
  136. * http://blog.geoserver.org/2008/12/09/geoserver-171-released/
  137. * http://blog.geoserver.org/2008/10/27/geoserver-170-released/
  138. #. Do not publish the post. Instead present it to the GeoServer outreach
  139. team for review, and they will publish it.
  140. SlashGeo
  141. ^^^^^^^^
  142. .. note:: This announcement should be made only for official releases. Not betas and release candidates.
  143. .. note::
  144. This step requires an account on http://slashgeo.org
  145. #. Go to http://slashgeo.org, and log in, creating an account if necessary.
  146. #. Click the **Submit Story** link on the left hand side of the page.
  147. Examples of previous stories:
  148. * http://technology.slashgeo.org/technology/08/12/09/1745249.shtml
  149. * http://industry.slashgeo.org/article.pl?sid=08/10/27/137216
  150. FreeGIS
  151. ^^^^^^^
  152. .. note:: This announcement should be made only for official releases. Not betas and release candidates.
  153. Send an email to ``bjoern dot broscheit at uni-osnabrueck dot de``.
  154. Example::
  155. Subject: GeoServer update for freegis
  156. GeoServer 1.7.1 has been released with some exciting new features. The big
  157. push for this release has been improved KML support. The new and noteworthy
  158. include:
  159. * KML Super Overlay and Regionating Support
  160. * KML Extrude Support
  161. * KML Reflector Improvements
  162. * Mac OS X Installer
  163. * Dutch Translation
  164. * Improved Style for Web Admin Interface
  165. * New SQL Server DataStore Extension
  166. * Improved Oracle DataStore Extension
  167. * Default Templates per Namespace
  168. Along with many other improvements and bug fixes. The entire change log for
  169. the 1.7.1 series is available in the issue tracker:
  170. http://jira.codehaus.org/browse/GEOS/fixforversion/14502
  171. FreshMeat
  172. ^^^^^^^^^
  173. .. note:: This announcement should be made only for official rel-eases. Not betas and release candidates.
  174. .. note::
  175. This step requires an account on http://freshmeat.net/
  176. #. Go to http://freshmeat.net/ and log in.
  177. #. Search for "geoserver" and click the resulting link.
  178. #. Click the **add release** link at the top of the page.
  179. #. Choose the **Default** branch
  180. #. Enter the version and choose the appropriate **Release focus**.
  181. .. note::
  182. The release focus is usually 4,5,6, or 7. Choose which ever is
  183. appropriate.
  184. #. Enter a succinct description (less than 600 characters) of the **Changes**.
  185. #. Update the links to the following fields:
  186. * Zip
  187. * OS X package
  188. * Changelog
  189. #. Click the **Step 3** button.
  190. #. Click the **Finish** button.