mirror of
https://gitlab.science.ru.nl/technicie/MarietjeDjango.git
synced 2025-12-09 19:22:22 +01:00
This will prevent the CI from "randomly" breaking every now and then, because of added lints in pylint. From now on, pylint is updated manually.
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
stages:
|
|
- test
|
|
- deploy
|
|
|
|
pylint:
|
|
stage: test
|
|
before_script:
|
|
- apt-get -qq update
|
|
- apt-get -qq install -y python3 python3-venv python3-pip
|
|
- python3 -m venv venv
|
|
- source venv/bin/activate
|
|
- pip install -r requirements.txt
|
|
script:
|
|
- pylint marietje/marietje marietje/metrics marietje/playerapi marietje/queues marietje/songs marietje/stats
|
|
|
|
deploy:
|
|
stage: deploy
|
|
only: ['marietje-zuid']
|
|
before_script:
|
|
- apt-get -qq update
|
|
- apt-get -qq install -y git openssh-client
|
|
script: |
|
|
umask 077
|
|
mkdir -p "$HOME/.ssh"
|
|
cat <<EOF >"$HOME/.ssh/id_rsa"
|
|
$SSH_PRIVATE_KEY
|
|
EOF
|
|
cat <<EOF >>"$HOME/.ssh/known_hosts"
|
|
marietje-zuid.science.ru.nl ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLticd8NEr6r5QJ2VKFX/rVcfkhM3IcAr+hCgc/kgBSIPEzyRIXd74glIx17FJxvhi2KLC5D+EVtu9CSZhYSe10=
|
|
EOF
|
|
|
|
# Deploy the new version
|
|
cat <<EOF | ssh root@marietje-zuid.science.ru.nl
|
|
readonly PYTHON="/srv/MarietjeDjango/django_env/bin/python"
|
|
readonly MANAGE="/srv/MarietjeDjango/marietje/manage.py"
|
|
|
|
systemctl stop MarietjeDjango.service
|
|
git --git-dir=/srv/MarietjeDjango/.git --work-tree=/srv/MarietjeDjango/ pull origin marietje-zuid
|
|
"\$PYTHON" "\$MANAGE" migrate --noinput
|
|
"\$PYTHON" "\$MANAGE" collectstatic --noinput
|
|
systemctl start MarietjeDjango.service
|
|
|
|
# Regenerate caches
|
|
(
|
|
sudo -u www-data /srv/MarietjeDjango/django_env/bin/python /srv/MarietjeDjango/marietje/manage.py recache_stats
|
|
sudo -u www-data /srv/MarietjeDjango/django_env/bin/python /srv/MarietjeDjango/marietje/manage.py recache_user_stats
|
|
) &
|
|
EOF
|