Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Documentation

Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

OpenMRS 2.x releases are different than OpenMRS platform releases (like 1.11.x). Platform releases usually consist of alpha, beta releases and have Sprints to complete tickets in a short span of time. OpenMRS 2.x is a collection of modules and hence its release consists of releasing all the modules planned to be included in the 2.x release and testing if all of them function collectively.
The release manager needs access to these accounts:
  1. OpenMRS ID: This is the basic account that you create when associating with OpenMRS.
  2. CIEL dictionary dropbox account:  This account is updated with the latest CIEL dictionary and each OpenMRS 2.x release includes the latest released CIEL dictionary. Andrew Kanter manages the account and you would need to mail him  requesting the access for the account. CIEL dictionary is an SQL dump file.
  3. mdsbuilder: It is an OpenMRS server and you would need access to the server, an account in the OpenMRS account and also the mysql openmrs_user/root credentials, please create a new case requesting these accounts at OpenMRS helpdesk . For requesting server access you need to have an SSH key pair.(For windows users new to using an SSH key pair for accessing a linux server , this guide might help you create one).
  4. SourceForge account: Every release of OpenMRS is hosted here, you would be uploading the released version here. You have to create a SourceForge account and then create a new case at OpenMRS helpdesk requesting your user to be given the rights for OpenMRS account.
  5. OpenMRS.org account: This is not your OpenMRS ID, it is a WordPress account where you will need to create a blog post once you release the OpenMRS version.Create a new case at OpenMRS helpdesk requesting access for the OpenMRS.org account.
  6. CI Bamboo Account: The actual release takes place here. You will need your access to this account to finally release the version.Create a new case at OpenMRS helpdesk requesting access for this account.

Release Process:

Releasing the CIEL Dictionary:

  1. Update CIEL on the mdsbuilder to the latest version using the sql dump that you download from the CIEL dictionary dropbox account.
    1. Login to mdsbuilder using ssh.
    2. Run mysql import of the sql dump.
  2. Update Metadata Sharing packages to the latest versions of CIEL concepts
    1. Login to mdsbuilder OpenMRS instance.
    2. Go to Administration -> Metadata Sharing -> Export Metadata and choose a package (repeat b. and c. for the following packages: Reference Application Concepts, Reference Application Diagnoses, Reference Application Order Entry and Allergies Concepts)
      1. Click New Version.
      2. Follow the creating package wizard leaving all defaults.
    3. Click Download Latest to get the zip file for that package. 
  3. Export concepts using data exchange to preserve IDs for later updates of CIEL.
    1. Login to mds builder.
    2. Go to System Administration -> Advanced Administration -> Data Exchange Module / Export. Upload header.xml file from all you downloaded in 2. c.
      Save the exported concepts in https://github.com/openmrs/openmrs-module-referencemetadata/blob/master/api/src/main/resources
    3. Add any missing calls to dataImporter.importData(...) in https://github.com/openmrs/openmrs-module-referencemetadata/blob/master/api/src/main/java/org/openmrs/module/referencemetadata/ReferenceMetadataActivator.java to load all files with the exported concepts.
    4. Set ReferenceMetadataConstants.METADATA_VERSION to a value higher by 1
    5. Remove zip packages containing concepts (if any) from https://github.com/openmrs/openmrs-module-referencemetadata/tree/master/api/src/main/resources and their declarations in https://github.com/openmrs/openmrs-module-referencemetadata/blob/master/api/src/main/resources/packages.xml
    6. Commit and push changes.
    7. Release the Reference Metadata Module with the version matching the release version of OpenMRS 2.x

Final Release Process:

  1. Release all modules to be included in the distribution
    1. Go to https://github.com/openmrs/openmrs-distro-referenceapplication/blob/master/pom.xml and look for SNAPSHOT dependencies
    2. Release all SNAPSHOT dependencies and update their versions in https://github.com/openmrs/openmrs-distro-referenceapplication/blob/master/pom.xml
    3. Make sure all declared versions of modules are the latest compatible versions
  2. Release the distribution from CI
    1. Go to https://ci.openmrs.org/build/admin/edit/editBuildTasks.action?buildKey=REFAPP-OMODDISTRO-JOB1
    2. Open the Check module versions task
    3. Make sure that the goal is changed from ${bamboo.checkVersions} to validate
    4. Click Save at the bottom
    5. Click on Run->Run Plan(right side top corner) to create a build with these settings. Please remember the build number.
    6. Check the generated build to make sure that it produced artifacts, which include modules in the declared versions.
    7. Every build stops/pauses at the release stage(you can observe this in the left side column nearing the bottom of the page with section titled Release having a small right-arrow/play symbol beside it).
    8. After verifying the artifacts trigger the release by clicking on the play/right-arrow button next to the Release section. This begins the process of releasing the OpenMRS 2.x version in maven and packaging the released modules and generating the openmrs-standalone.zip.
    9. Download openmrs-2.x-modules.zip and openmrs-standalone.zip from the artifacts tab in the released build.
    10. Once you downloaded release artifacts you can revert the step c

Publishing the artifacts and Announcing the release:

  1. Publishing the Artifacts
    1. Go to - sourceforge.net/projects/openmrs/files/releases/ - log in to your SourceForge account and create a new folder with the release version following the nomenclature of the previous folders. upload the openmrs-2.x-modules.zip and openmrs-standalone.zip downloaded from the artifacts tab in the released build. This might take some time be patient, check and verify that they have been uploaded properly.
  2. Maintain the list of Contributors for the release.
  3. Create the Release notes:
    1. Create a release notes child page in Release Notes with the release version name.
    2. Update the Release Notes page meta tag with the new page you created.
  4. Announcing the Release
    1. Create a blog post in OpenMRS.org announcing the release, it can be similar to the ones created before. Please do not forget to include the list of contributors in the announcement.
    2. Announce the release in OpenMRS Talk similar to the blog post.
    3. .Create a new case at OpenMRS helpdesk requesting to update the OpenMRS.org home page and downloads page to update it to the latest release.
  5. Release in JIRA
    1. Request for being an administrator of the Reference Application project in JIRA from a current Administrator - Presently Darius Jazayeri is an administrator for the project.
    2. Go to this link - https://issues.openmrs.org/plugins/servlet/project-config/RA/versions and enter the date beside the version you are about to release and click on the small settings icon indicating a dropdown that appears when you point the mouse over  the list value for the version and select release.

 

  • No labels