Deployment ========== The stable branch tracks the revision deployed to the server. Use the following steps to deploy a new revision. * Locally set the stable branch to the desired revision:: git fetch git checkout stable git merge origin/master # or another branch or an explicit commit * Run the ``bin/push-stable.sh`` script. If any new files have been added to the ``related/deploy`` folder, their names will be displayed and you will be prompted whether to proceed with the push. (The same goes for commit messages containing a line starting with "Deploy:".) The script also accepts the parameter "-d" which enables the dry-run mode where no actual push happens. The script also automatically creates a new release tag marked as "release/YYYY-MM-DD" and pushes to the stable branch of the ``mirror`` remote if it is set up. :: ./bin/push-stable.sh * Log into the server. If no commits with deployment relevance exist, simply execute the cdedb-update.sh script:: ssh cde-db2 # replace with your alias from your ssh config sudo cdedb-update.sh Note that to connect to the database in interactive mode, or to run a script, you need to enter interactive sudo mode first to be able to emulate other users. If commits with deployment relevance exist, the necessary alterations should be applied after running the update script once. Afterwards you should restart the apache again, using the `cdedb-restart.sh` script:: ssh cde-db2 sudo -i cdedb-update.sh sudo -u cdb psql -U cdb -d cdb -f evolution.sql sudo -u www-cde SCRIPT_CONFIGPATH="/etc/cdedb/config.py" SCRIPT_PERSONA_ID=X SCRIPT_DRY_RUN="" python3 bin/some_script.py cdedb-restart.sh * Send update information to the Aktivenforum. These should include a short summary of the relevant changes, including information for whom this is most relevant (i.e. "@Orgas" for most changes to the event realm), aswell as the shortlog of all the changes. The update information should include everything since the last update information, which might not be the same as everything since the last release. :: git shortlog release/X..stable