This small document aims at providing a step-by-step guide on how to create and deploy e new version of SelfHelp. It is assumed that
In the following the expression __experiment_name__ will be used as a placeholder for the experiment name and the expression __new_version__ as a placeholder for the new version.
The version number should be of the form v__major__.__minor__.__revision__ (e.g v1.2.3).
Navigate to the root directory of your local copy of SelfHelp and type
git checkout master
git pull
Make sure that all merge conflicts are resolved.
Increment the version number in the file .doxygen by changing the value of key PROJECT_NUMBER to the new version and produce the new doxygen documentation with
doxygen .doxygen
Fix all warnings that are produced and recreated the document until no warnings appear. Commit the file changes with an appropriate commit message.
CHANGELOG.mdDocument all the incremental changes with respect to the last version.
Use GitLab syntax to link to issues (issue number prefixed with #) and merge requests (merge request number prefixed with !).
Separate the changes into the categories Bugfix, Changes, and New Features.
Add or move the suffix (latest) to the latest version heading.
In order to limit the number of requests, all *.js and *.css files from styles are combined into a minified file.
This can be done by following commands
cd gulp
gulp
If no DB update script was necessary for this release, skip this step.
In order to keep the initial DB file up to date it must be merged with the DB update script that was created for this release. To do this perform the following steps:
server/db/selfhelp_initial.sql.server/db/selfhelp_initial.sqlserver/db/privileges_default.sqlfun_pro_wiews.sqlIf no view, function or process was changed or created for this release, skip this step.
In order to allow to easily deploy the latest function, processes, and views in the DB the corresponding install script needs to be generated. To do this use the following command:
copy /b server\db\FUN_PRO_VIEW\*.sql server\db\FUN_PRO_VIEWS\fun_pro_views.sql
cat server/db/FUN_PRO_VIEWS/*.sql > server/db/FUN_PRO_VIEWS/fun_pro_views.sql
Add the changed files to git
git add .
git ct -m "new version __new_version__"
git push
To create and push a new tag
git tag __new_version__
git push --tags
In order to deploy the new version, ssh to the SelfHelp server where the project to update is hosted and perform the following operations:
sudo su www
cd
./check_versions.sh
Note the current version of __experiment_name (this is important for applying the DB update scripts in step 9).
cd __experiment_name__
git checkout __new_version__
If no DB update script was necessary for this release, skip this step.
To update the DB perform the following steps: