Loading README.md +36 −1 Original line number Diff line number Diff line Loading @@ -214,3 +214,38 @@ Le premier argument de la méthode RPC est __toujours__ une instance de Une possibilité est de préfixer le nom de la méthode avec le nom de votre application. ⚠️ Le retour de la méthode RPC __doit__ être sérialisable par l'encodeur par défaut du module standard `json`. ### Hook Gitlab L'application peut être maintenue à jour automatiquement. Le principe est le suivant: 1. En fonction d'un évènement (ajout de commit, de tag, autre) Gitlab fait une requête POST sur Jama avec un jeton secret 2. Jama enregistre une tâche asynchrone via [Huey](https://huey.readthedocs.io/en/latest/) 3. la tâche asynchrone appelle un script shell chargé de mettre à jour l'application #### mise en place Ajoutez l'application `autoupdate` à la variable d'environnement `JAMA_APPS`: JAMA_APPS="autoupdate" Sur Gitlab, ajouter un webhook (dépôt > paramètres > webhook) ayant pour URL https://acme.tld/autoupdate/. Prenez soin de noter le jeton que vous attribuez. Ajouter ce jeton à la variable d'environnement `JAMA_WEBHOOK_TOKEN`: JAMA_WEBHOOK_TOKEN="Zuhugce7zjhw7Pye" Ajoutez un script update.sh dans le répertoire de Jama. Un exemple, à adapter en fonction de votre installation: #!/usr/bin/env sh git pull ./venv/bin/pip install -r requirements.txt ./venv/bin/python manage.py migrate sudo systemctl restart jama Lancez le service Huey en charge de l'exécution des tâches asynchrones: manage.py run_huey (idéalement, maintenez ce processus via systemd). Jama est maintenant prêt à recevoir les notifications de Gitlab (par exemple en cas de nouveau tag) et lancera sa mise à jour ensuite. No newline at end of file Loading
README.md +36 −1 Original line number Diff line number Diff line Loading @@ -214,3 +214,38 @@ Le premier argument de la méthode RPC est __toujours__ une instance de Une possibilité est de préfixer le nom de la méthode avec le nom de votre application. ⚠️ Le retour de la méthode RPC __doit__ être sérialisable par l'encodeur par défaut du module standard `json`. ### Hook Gitlab L'application peut être maintenue à jour automatiquement. Le principe est le suivant: 1. En fonction d'un évènement (ajout de commit, de tag, autre) Gitlab fait une requête POST sur Jama avec un jeton secret 2. Jama enregistre une tâche asynchrone via [Huey](https://huey.readthedocs.io/en/latest/) 3. la tâche asynchrone appelle un script shell chargé de mettre à jour l'application #### mise en place Ajoutez l'application `autoupdate` à la variable d'environnement `JAMA_APPS`: JAMA_APPS="autoupdate" Sur Gitlab, ajouter un webhook (dépôt > paramètres > webhook) ayant pour URL https://acme.tld/autoupdate/. Prenez soin de noter le jeton que vous attribuez. Ajouter ce jeton à la variable d'environnement `JAMA_WEBHOOK_TOKEN`: JAMA_WEBHOOK_TOKEN="Zuhugce7zjhw7Pye" Ajoutez un script update.sh dans le répertoire de Jama. Un exemple, à adapter en fonction de votre installation: #!/usr/bin/env sh git pull ./venv/bin/pip install -r requirements.txt ./venv/bin/python manage.py migrate sudo systemctl restart jama Lancez le service Huey en charge de l'exécution des tâches asynchrones: manage.py run_huey (idéalement, maintenez ce processus via systemd). Jama est maintenant prêt à recevoir les notifications de Gitlab (par exemple en cas de nouveau tag) et lancera sa mise à jour ensuite. No newline at end of file