Project

General

Profile

Actions

CDM Platform release process step by step

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


RELEASE

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

2) Run the release pipeline in jenkins

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 Release Notes

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

  • avoid technical terms
  • 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

General:

  • before editing the current milestone copy&past it and add it to the beginning (also update the related data like scheduled release date, download links, issues query for issue count, ...)
  • adapt current milestone (adapt date, adapt text from "scheduled for" to "released on", ...)
  • add query for ticket list
  • keep the order of components in the summary
  • write top level issues with capital latters, subissues in small latters
  • check carefully which issues belongs to which component from user perspective
  • do not mention tickets that are not fixed yet or mention only those parts that are fixed
  • use language that is easy to understand for users (e.g. don't use camel case and explain the full context of an issue) and use complete sentences
  • mention issues of BGBM platform installation only if really important

4) Edit milestones/versions

  1. Try to close as many tickets as possible from the current milestone (ask all users to check their open tickets)
  2. Decide if to
    • move open tickets to the next milestone, 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

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)

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 # for local git use git pull ssh://git@dev.e-taxonomy.eu/var/git/cdm-dataportal.git master --rebase
#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 Method1

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.xx.0/cdmserver_5.xx.0-5_all.deb --no-check-certificate
dpkg -i cdmserver_5.xx.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-1

edit demo servers 1 & 2 (BDI-Wiki:/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.

cd /opt/server-scripts/workshop-setup/
./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

... if necessary

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) 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

Updated by Belen Escobari 9 months ago · 105 revisions