Project

General

Profile

CdmPlatformReleaseSteps » History » Revision 92

Revision 91 (Andreas Müller, 07/30/2022 10:49 PM) → Revision 92/105 (Andreas Müller, 07/30/2022 10:49 PM)

# CDM Platform release process step by step 

 *This page describes the workflow for releasing a main (not hotfix) version of the EDIT Platform* 

 ---- 

 {{toc}} 

 {{child_pages(depth=1)}} 

 ## RELEASE 

 ### 1) Check that the cdm-server and the data portal build are fine 

 * run the [cdm-server-INTEGRATION](http://dev.e-taxonomy.eu/jenkins/job/cdm-server-INTEGRATION/) job 
 * run the [drupal7-cdm_dataportal-SNAPSHOT](http://dev.e-taxonomy.eu/jenkins/job/drupal7-cdm_dataportal-SNAPSHOT/) job 

 ### 2) Run the release pipeline in jenkins 

 * run the [cdmlib-RLS-START](https://int.e-taxonomy.eu/jenkins/job/cdmlib-RLS-START/) job    (all other START jobs should be triggered by this) 
 * run the [cdmlib-RLS-FINISH](https://int.e-taxonomy.eu/jenkins/job/cdmlib-RLS-FINISH/) job (all other FINISH jobs should be triggered by this) 

 Note: if any of the above jobs fail they must be manually proceded or manually reverted and rerun (except for site-deploy jobs as they are not critical). 

 ### 3) Update the Cdm Platform Roadmap 

 Update https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/CdmPlatformRoadmap and add a summary in the _What's new?_ section. 
 Note: The summary must be written in a user perspective. Try to 

 * to avoid technical terms 
 * do not mention tickets that have no impact on usage (e.g. refactoring, smaller dependency updates, bugs created and fixed in the same milestone, etc.) 
 * combine tickets which handle a common topic into 1 summary task 

 ### 4) Edit milestones 

 1. Try to close as many tickets as possible from the current milestone (ask all users to check their open tickets) 
 1. Decide if to  
      * move open tickets to the next milestone and open a new milestone and put it to the end of the list of upcoming milestones 
        or 
      * increment the release number of all upcoming milestones and create a new milestone for the current milestone and move all closed tickets to this later milestone 

 ### 5) Write an email to the EDIT Platform users (edituser at lists.fu-berlin.de) 

 ~~~ 
 Subject:    Release and installation of EDIT Platform version <NEW-VERSION> 
 ~~~ 

 ~~~ 
 Dear EDIT Platform users, 

 The new version <NEW-VERSION> of the EDIT Platform will be released today. 

 The platform components will be installed on our servers tomorrow <DAY>, <MONTH> <DAY-NUMBER>, between <START> am and <END> am CEST. 

 The EDIT Platform will be in maintenance mode as long as the installation is in progress. 
 We will send a notification to you once maintenance is over. 

 <VERSION SPECIFIC NOTES IF NECESSARY> 

 Best regards, 
 Your EDIT Team  
 ~~~ 


 ## DEPLOY 

 ### 6) Perform the deployment of the Taxonomic Editor 

 Deploy the taxeditor by running the Jenkins job : [taxeditor-PROVISION](https://int.e-taxonomy.eu/jenkins/job/taxeditor-PROVISION/) 

 ### 7) Deploy the CDM Server and Dataportal 

 see also Readme's on https://github.com/cybertaxonomy/cdm-dataportal 


 **edit production** server ([BDI-Wiki:/EDITServerSetup/edit-production](https://wiki.bgbm.org/bdinotes/index.php/EDITServerSetup/edit-production)) 

 ~~~ 
 dataportals-drush vset -y maintenance_mode 1    => Maintenance mode 
 /opt/server-scripts/jenkins-ci/cdm-server/cdmserver-install.sh {release-version} /tmp/     => tmp is the folder the release is downloaded to, danach warten bis Server neu gestartet ist 
 # wait some minutes until the prompt returns .... 
 cd /var/www/drupal-7-cdm-dataportal 
 git checkout master 
 git pull 
 #set file rights 
 ./scripts/admin/fix-permissions.sh --web-user www-data 
 #migration script for modules (if settings changed) 
 dataportals-drush --yes updatedb 
 #clear all caches 
 dataportals-drush cc all 
 dataportals-drush vset -y maintenance_mode 0 
 ~~~ 
    
 maybe you want to install drupal updates as well: [[CDM_DataportalDevelopmentRequirements]] Update Method2 

 **phycobank** 

 The phycobank server is not necessarily following every release, therefore **THIS STEP MUST ONLY BE DONE AFTER CONFIRMATION BY THE PHYCOBANK TEAM**. 

 ~~~ 
 cd /opt/cdmserver-docker/phycobank 
 vi docker-compose.yml # set the release version 
 docker-compose down 
 docker-compose up -d 
 ~~~ 

 Re-index if needed (see also [[CdmSearchIndexMaintenance]]): 

 ~~~ 
  http http://api.phycobank.org/phycobank/manage/reindex --auth '{USR}:{PWD}' 
 ~~~ 

 Update the dataportal 

 ~~~ 
 cd /var/www/drupal-7-cdm-dataportal/web/sites/_dataportal-phycobank 
 git fetch 
 git checkout {release_version}   
 # ignore "detached HEAD" warning 
 drush -r /var/www/drupal-7-cdm-dataportal/web/ -l https://phycobank.org/ updatedb 
 drush -r /var/www/drupal-7-cdm-dataportal/web/ -l https://phycobank.org/ cc all 
 ~~~ 

 **mexico** 

 Server is https://efloramex.ib.unam.mx/ 

 ~~~ 
 cd /var/www/drupal-7-cdm-dataportal/web/ 
 drush vset -y maintenance_mode 1 
 cd /opt/cdmserver/ 
 sudo su 
 wget https://cybertaxonomy.org/download/cdmserver/5.30.0/cdmserver_5.30.0-5_all.deb --no-check-certificate 
 dpkg -i cdmserver_5.30.0-5_all.deb 

 #test if cdmserver started at http://efloramex.ib.unam.mx:8080/cdmserver/ .... 
 cd /var/www/drupal-7-cdm-dataportal 
 git checkout master 
 git pull 

 ./scripts/admin/fix-permissions.sh --web-user www-data    => Set file rights 
 drush --yes updatedb     => migrations script für Module (z.B. wenn sich Settings ändern) 
 drush cc all     => clear all caches 
 drush vset -y maintenance_mode 0 
 ~~~ 

 maybe you want to install drupal updates as well: https://github.com/cybertaxonomy/cdm-dataportal#update---method-2 

 **edit demo servers 1 & 2 ([BDI-Wiki:/EDITServerSetup/edit-production](https://wiki.bgbm.org/bdinotes/index.php/EDITServerSetup/edit-demo))** 

 On each of the servers: 
    
 ~~~ 
 vi /opt/server-scripts/workshop-setup/conf.d/instances.conf 
 ~~~ 

 and change the variables CDM_SERVER_VERSION and CDM_DATAPORTAL_GIT_TREEISH: 

 ~~~ 
 # CDM Server version 
 CDM_SERVER_VERSION=5.7.0 
 # reference to a branch or tag in the cdm-dataportal git repo 
 # e.g.: tags/1.0, hotfix/1.0.1 
 CDM_DATAPORTAL_GIT_TREEISH=tags/5.7.0 
 ~~~ 

 Save the changes. The setup will be refreshed automatically over night. If you need to install the server in the newly configured release version, you can run the setup script. It is recommended to run the setup scripts in a `screen` session: 

 ~~~ 
 screen -R # reattach or new session 
 ~~~ 

 Now inside the session, either do a full setup (recommended), since we are using `screen` you can close the teminal even if the setup is running. Closing the terminal or dropping the ssh connection will not cause the running script to be stopped.    

 ~~~ 
 ./full-setup 
 ~~~ 

 or just update the cdm-server 

 ~~~ 
 ../jenkins-ci/cdm-server/cdmserver-install.sh $CDM_SERVER_VERSION /tmp 
 ~~~ 

 ### 8) Re-index Freetext Search Index 

 * http://edit-jobber-1.bgbm.fu-berlin.de/jenkins/job/TRIGGER-cdmserver-reindex/ 

 ~~~ 
 euromed 
 caryophyllales_spp 
 cyprus 
 flora-greece 
 flora-greece-bupleurum 
 cichorieae 
 palmae 
 caryophyllales 
 flora-cuba 
 cdmterms 
 salvador 
 caryo_nepenthaceae 
 edaphobase 
 algaterra_new 
 rubiaceae_mexico 
 corvidae 
 campanulaceae 
 additivity_ontology 
 asteraceae 
 oxalis 

 myristicaceae 
 rl_animalia_final 
 flora-malesiana 
 flora-malesiana-clean 
 flore-gabon 
 flore-gabon-old 
 flora-guianas 
 flora-uzbekistan 
 lichenes 
 casearia 
 algaterra 
 vibrant_index 
 rl_standardliste 
 rl_plantae 
 rl_moose 
 rl_mammalia 
 rl_animalia 
 rl_armeria_demo 
 rl_german_sl 
 flora-malesiana-prospective 

 caryo_amaranthaceae 
 euromed_caucasus 
 diptera 
 bromeliaceae 
 pib_chenopodiumPilot 
 pib_campylopusPilot 
 col 
 ~~~ 

 TODO: find out how to upgrade the Mexico instance , using Purge or Reindex on the dataportal settings side does not seem to work 

 ### 9) Write Notification to users (EDIT User mailing list) 

 ~~~ 
 Dear EDIT Platform users, 

 the new version <NEW-VERSION> of the EDIT Platform has been released and installed on our servers. 
 As usually, our roadmap page (http://dev.e-taxonomy.eu/redmine/projects/edit/wiki/CdmPlatformRoadmap) gives an overview on the changes in this release. 

 How to update: 
 ============== 
 This can either be done inside the TaxEditor by selecting "Help" > "Check for Updates" from the menu or you can download the new release from: https://cybertaxonomy.org/download/taxeditor/stable/ 

 Note: "Check for Updates" does generally not work if you are using the JRE version of the TaxEditor (version with JAVA included). 

 Best regards, 
 The EDIT team 
 ~~~ 

 ### 10) 9) Check for post-release tickets 

 * Check ticket "Cyprus taxa to check before release" (#5084) 
 * Handle other post-release tickets 
 * Close current milestone once all tickets are closed