forked from ScoDoc/ScoDoc
updater
This commit is contained in:
parent
2f47a51f06
commit
eb14607bb2
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
|
|
||||||
"""ScoDoc8 models : departements
|
"""ScoDoc models : departements
|
||||||
"""
|
"""
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
|
|
||||||
"""ScoDoc8 models
|
"""ScoDoc models
|
||||||
"""
|
"""
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<h2>Prototype ScoDoc 8</h2>
|
<h2>Prototype ScoDoc</h2>
|
||||||
<div style="font-size: 140%">=> <a href="{{url_for('scodoc.index')}}">Page d'accueil ScoDoc 8</a></div>
|
<div style="font-size: 140%">=> <a href="{{url_for('scodoc.index')}}">Page d'accueil ScoDoc 8</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ def sco_publish(route, function, permission, methods=["GET"]):
|
|||||||
|
|
||||||
|
|
||||||
log.set_log_directory(Config.SCODOC_VAR_DIR + "/log")
|
log.set_log_directory(Config.SCODOC_VAR_DIR + "/log")
|
||||||
log("ScoDoc8 restarting...")
|
log("ScoDoc restarting...")
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.0.0a"
|
SCOVERSION = "9.0.1"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
SCONEWS = """
|
SCONEWS = """
|
||||||
<h4>Année 2021</h4>
|
<h4>Année 2021</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Passage à Python 3 et amélioration des performances</li>
|
<li>ScoDoc 9: nouvelle architecture logicielle</li>
|
||||||
<li>Version mobile (en test)</li>
|
<li>Version mobile (en test)</li>
|
||||||
<li>Évaluations de type "deuxième session"</li>
|
<li>Évaluations de type "deuxième session"</li>
|
||||||
<li>Gestion du genre neutre (pas d'affichage de la civilité)</li>
|
<li>Gestion du genre neutre (pas d'affichage de la civilité)</li>
|
||||||
|
@ -209,7 +209,7 @@ def test_interactive(filename=None):
|
|||||||
@app.cli.command()
|
@app.cli.command()
|
||||||
@with_appcontext
|
@with_appcontext
|
||||||
def import_scodoc7_users(): # import-scodoc7-users
|
def import_scodoc7_users(): # import-scodoc7-users
|
||||||
"""Import used defined in ScoDoc7 postgresql database into ScoDoc8
|
"""Import used defined in ScoDoc7 postgresql database into ScoDoc 9
|
||||||
The old database SCOUSERS must be alive and readable by the current user.
|
The old database SCOUSERS must be alive and readable by the current user.
|
||||||
This script is typically run as unix user "scodoc".
|
This script is typically run as unix user "scodoc".
|
||||||
The original SCOUSERS database is left unmodified.
|
The original SCOUSERS database is left unmodified.
|
||||||
|
@ -8,7 +8,7 @@ die() {
|
|||||||
|
|
||||||
PACKAGE_NAME=scodoc9
|
PACKAGE_NAME=scodoc9
|
||||||
RELEASE_TAG=9.0.1
|
RELEASE_TAG=9.0.1
|
||||||
VERSION=9.0.0
|
VERSION=9.0.1
|
||||||
RELEASE=1
|
RELEASE=1
|
||||||
ARCH="amd64"
|
ARCH="amd64"
|
||||||
FACTORY_DIR="/opt/factory"
|
FACTORY_DIR="/opt/factory"
|
||||||
|
@ -85,6 +85,12 @@ fi
|
|||||||
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
|
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
|
||||||
init_postgres_user
|
init_postgres_user
|
||||||
|
|
||||||
|
# --- MISES A JOUR
|
||||||
|
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.service /etc/systemd/system
|
||||||
|
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.timer /etc/systemd/system
|
||||||
|
systemctl enable scodoc-updater.timer
|
||||||
|
systemctl start scodoc-updater.timer
|
||||||
|
|
||||||
# --- SYSTEMD: on a (peut-être) installé un fichier de service
|
# --- SYSTEMD: on a (peut-être) installé un fichier de service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable scodoc9
|
systemctl enable scodoc9
|
||||||
|
123
tools/upgrade.sh
Normal file → Executable file
123
tools/upgrade.sh
Normal file → Executable file
@ -1,18 +1,16 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Upgrade ScoDoc installation using GIT
|
# Upgrade ScoDoc installation using APT
|
||||||
# GIT must be properly configured and have read access to ScoDoc repository
|
#
|
||||||
# This script STOP and RESTART ScoDoc and should be runned as root
|
# This script STOP and RESTART ScoDoc and should be runned as root
|
||||||
#
|
#
|
||||||
# Upgrade also the Linux system using apt.
|
# Upgrade also the Linux system using apt.
|
||||||
#
|
#
|
||||||
# Script for ScoDoc 8 (10)
|
# Script for ScoDoc 9
|
||||||
#
|
#
|
||||||
# E. Viennet, sep 2013, mar 2017, jun 2019, aug 2020, dec 2020
|
# E. Viennet, sep 2013, mar 2017, jun 2019, aug 2020, dec 2020, aug 21
|
||||||
|
|
||||||
|
|
||||||
A REVOIR : utiliser releases
|
|
||||||
|
|
||||||
# Le répertoire de ce script:
|
# Le répertoire de ce script:
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
|
||||||
@ -28,113 +26,6 @@ if [ -z "$SCODOC_UPGRADE_RUNNING" ]
|
|||||||
then
|
then
|
||||||
apt-get update && apt-get -y dist-upgrade
|
apt-get update && apt-get -y dist-upgrade
|
||||||
fi
|
fi
|
||||||
|
systemctl restart redis
|
||||||
|
systemctl restart nginx
|
||||||
scodocctl stop
|
systemctl restart scodoc9
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Using git to update $SCODOC_DIR..."
|
|
||||||
(cd "$SCODOC_DIR"; git checkout ScoDoc8; git pull origin master)
|
|
||||||
|
|
||||||
SVNVERSION=$(cd ..; svnversion)
|
|
||||||
|
|
||||||
if [ ! -e "${SCODOC_VERSION_DIR}" ]; then
|
|
||||||
mkdir -p "${SCODOC_VERSION_DIR}"
|
|
||||||
chown "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_VERSION_DIR}"
|
|
||||||
fi
|
|
||||||
if [ ! -e "${SCODOC_VERSION_DIR}"/scodoc.sn ]; then
|
|
||||||
if [ -e "$SCODOC_DIR"/config/scodoc.sn ]; then
|
|
||||||
# migrate from old scodoc installs
|
|
||||||
mv "$SCODOC_DIR"/config/scodoc.sn "${SCODOC_VERSION_DIR}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
SN=$(cat "$SCODOC_DIR"/config/scodoc.sn 2> /dev/null || cat "${SCODOC_VERSION_DIR}"/scodoc.sn)
|
|
||||||
if [ -e "$SCODOC_DIR"/config/scodoc.sn ] || [ -e "${SCODOC_VERSION_DIR}"/scodoc.sn ]
|
|
||||||
then
|
|
||||||
if [[ ! "${SN}" =~ ^[0-9].* ]]
|
|
||||||
then
|
|
||||||
SN='' # fix for invalid previous replies
|
|
||||||
fi
|
|
||||||
mode=upgrade
|
|
||||||
else
|
|
||||||
mode=install
|
|
||||||
fi
|
|
||||||
|
|
||||||
CMD="curl --fail --connect-timeout 5 --silent http://scodoc.iutv.univ-paris13.fr/scodoc-installmgr/version?mode=$mode\&svn=${SVNVERSION}\&sn=${SN}"
|
|
||||||
#echo $CMD
|
|
||||||
SVERSION="$(${CMD})"
|
|
||||||
|
|
||||||
if [ "$?" == 0 ]; then
|
|
||||||
#echo "answer=${SVERSION}"
|
|
||||||
echo "${SVERSION}" > "${SCODOC_VERSION_DIR}"/scodoc.sn
|
|
||||||
else
|
|
||||||
echo 'Warning: cannot connect to scodoc release server'
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Check that no Zope "access" file has been forgotten in the way:
|
|
||||||
if [ -e "$SCODOC_DIR"/../../access ]
|
|
||||||
then
|
|
||||||
mv "$SCODOC_DIR"/../../access "$SCODOC_DIR"/../../access.bak
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix some permissions which may have been altered in the way:
|
|
||||||
chown -R "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_DIR}"
|
|
||||||
chmod -R 775 "${SCODOC_DIR}"
|
|
||||||
|
|
||||||
# depts dir:
|
|
||||||
if [ ! -e "${SCODOC_VAR_DIR}/config/depts" ]
|
|
||||||
then
|
|
||||||
mkdir "${SCODOC_VAR_DIR}/config/depts"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Se recharge car ce fichier peut avoir change durant le svn up !
|
|
||||||
if [ -z "$SCODOC_UPGRADE_RUNNING" ]
|
|
||||||
then
|
|
||||||
export SCODOC_UPGRADE_RUNNING=1
|
|
||||||
./upgrade.sh
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add some python modules:
|
|
||||||
"$SCODOC_DIR"/config/install_cal_modules.sh
|
|
||||||
/opt/zope213/bin/python -c "import requests" >& /dev/null
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
/opt/zope213/bin/pip install requests
|
|
||||||
fi
|
|
||||||
/opt/zope213/bin/python -c "import attrdict" >& /dev/null
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
/opt/zope213/bin/pip install attrdict
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check that local configuration file is installed
|
|
||||||
LOCAL_CONFIG_FILENAME="/opt/scodoc/var/scodoc/config/scodoc_local.py"
|
|
||||||
if [ ! -e "$LOCAL_CONFIG_FILENAME" ]
|
|
||||||
then
|
|
||||||
cp "$SCODOC_DIR"/config/scodoc_config_tmpl.py "$LOCAL_CONFIG_FILENAME"
|
|
||||||
chmod 600 "$LOCAL_CONFIG_FILENAME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# upgrade old dateutil (check version manually to speedup)
|
|
||||||
v=$(/opt/zope213/bin/python -c "import dateutil; print dateutil.__version__")
|
|
||||||
[[ "$v" < "2.8.1" ]] && /opt/zope213/bin/pip install --upgrade python-dateutil
|
|
||||||
|
|
||||||
# Ensure scodoc can duplicate databases (for dumps)
|
|
||||||
su -c $'psql -c \'alter role "scodoc" with CREATEDB;\'' "$POSTGRES_SUPERUSER"
|
|
||||||
#'
|
|
||||||
|
|
||||||
# post-upgrade scripts
|
|
||||||
echo "Executing post-upgrade script..."
|
|
||||||
"$SCODOC_DIR"/config/postupgrade.py
|
|
||||||
|
|
||||||
echo "Executing post-upgrade database script..."
|
|
||||||
su -c "$SCODOC_DIR/config/postupgrade-db.py" "$POSTGRES_USER"
|
|
||||||
|
|
||||||
#
|
|
||||||
echo
|
|
||||||
scodocctl start
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user