Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page should be a comprehensive guide to releasing a geodashboard project.

Step-by-step guide to complete release for mixed v2 and v3 system

...

  1. Geodashboard V2 is used for multiple projects
    1. release will be decided by larger group - contacts are Luigi MariniIndira Gutierrez Polo
    2. v2 should be on the most recent version of development branch on project's development server
    3. For creating a geodashboard (core) release. One of the committers needs to create a release branch. The release number should follow semantic versioning http://semver.org/. In the release branch there need to be the following 3 changes: 
      1. Update version number in project/Build.scala
      2. Update version number in package.json
      3. In Changelog.md update version number and add release date
    4. After the release branch is merged, a tag needs to be created in the master branch. Instructions for creating a tag are here: https://git-scm.com/book/en/v2/Git-Basics-Tagging 
    5. After creating the tag, create new branch, it's name could be custom 'master-to-develop-release-2.x.x' and merge that branch to develop. 
  2. Project specific configuration
    1. Create a project specific (gltg/ilnlrs/imlczo/seagrant) release branch. Follow semantic versioning to determine the number for the release: http://semver.org/. In the release branch there need to be 2 changes: 
      1. Update version number in package.json
      2. In changelog.md update version number and add release date
    2. After the release branch is merged, a tag needs to be created in the master branch. Instructions for creating a tag are here: https://git-scm.com/book/en/v2/Git-Basics-Tagging - The tag name for version 1.9.0 should be 'v1.9.0', add the letter v to indicate version before the release number for the tag. 
    3. After creating the tag, create new branch, it's name could be custom 'master-to-develop-release-2.x.x' and merge that branch to develop. 

...

Code Block
sudo /home/geodashboard/update-geodashboard.sh --force

...

  1. Each project should have a specific branch of v3 named by project name, which the master branch merged into the configuration 
    1. The master branch should be merged into the project branch which maintains it's specific configuration

...

Code Block
git clone ssh://git@opensource.ncsa.illinois.edu:7999/geod/geodashboard-v3.git
cd geodashboard-v3
checkout <project specific branch name>
yarn install
yarn run build

Copy the contents of the build directory of the system's proxy server

...

Code Block
more /etc/nginx/sites-enabled/<site> | grep root
  1. this returns the path to the nginx root directory

...

Code Block
cp -r gd3 gd3_backup

...

Code Block
sudo /home/clowder/update-clowder.sh --force

...

TEST THE SITE!!!

...

On the database server:

Code Block
sudo -u postgres pg_dump <geostream db name > geostream-backup.sql 

If not sure of the geostream database name, on the clowder server:

Code Block
more /home/clowder/clowder/custom/custom.conf | grep postgres.db

Make sure the cache is updated.  If not sure run (this will take a while depending upon how much data there is):

Code Block
<host>/clowder/api/geostreams/cache

Production - Branches and Servers (after thoroughly testing dev)

...

  1. Merge develop into master

All software on production branches need to be updated manually on geodashboard server

Code Block
sudo /home/geodashboard/update-geodashboard.sh --force

...

On clowder server

Code Block
sudo /home/clowder/update-clowder.sh --force

Production - Data

...

backup development and production databases

Code Block
sudo -u postgres pg_dump geostream_dev > geostream_dev_$(date +"%Y-%m-%d").sql  		# took 42 minutes to create 6.8G db
sudo -u postgres pg_dump geostream > geostream_$(date +"%Y-%m-%d").sql					# took 52 minutes to create 9.5G db

Copy dev database to production temp database

...

stop clowder on dev

copy

Code Block
sudo -u postgres psql -c "create database geostream_prod_temp with template geostream_dev"

delete the production database 

Stop clowder on production machine and:

Code Block
sudo -u postgres dropdb geostream

Rename production database

...

 Stop clowder on dev machine

Code Block
sudo -u postgres psql -c "ALTER DATABASE geostream_prod_temp RENAME TO geostream;"

...

Restart both clowder instances

...

option 2, on clowder machine delete cache files

Code Block
sudo rm /home/clowder/cache/*

use ssh to copy cache from dev to production (rsync would be better) (using key would be better) .  On production machine:

Code Block
sudo scp <your_ubuntu_username_on_dev>@<dev_hostname>:/home/clowder/cache/* .

...

Content by Label
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@215333
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "GEOD"
labelskb-how-to-article

...

hiddentrue

...