post-merge con Python en Linux

Creado: Septiembre 19, 2022

Actualizando mi blog con Github, Gitup via post-merge con un backend en Flask (Python) en Linux. Voy a utilizar y modificar la siguiente implementación para el hook de post-merge en git.

#!/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com

# git hook to run a command after `git pull` if a specified file was changed
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.

changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"

check_run() {
    echo "$changed_files" | grep --quiet "$1" && eval "$2"
}

# Example usage
# In this example it's used to run `npm install` if package.json changed
check_run *website/content* "systemctl reload barrahome"
Leer artículo...

Gunicorn reload Systemd

Creado: Septiembre 18, 2022

Recargar la configuración o cambios de Gunicorn mediante Systemd.

Se agregan estas las lineas ExecReload y ExecStop al "unit" de systemd.

El siguiente articulo describe la utilización y otros temas:

[alberto@barrahome barrahome-flask]$ cat /etc/systemd/system/barrahome.service
[Unit]
Description=Barrahome web application
After=network.target

[Service]
User=alberto
Group=alberto
WorkingDirectory=/home/alberto/barrahome-flask
ExecStart=/usr/bin/python3 /usr/bin/gunicorn  --bind 127.0.0.1:8000 website:app --pid=barrahome.pid
ExecReload = /bin/kill -s HUP $MAINPID
ExecStop = /bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target
[alberto@barrahome barrahome-flask]$

Luego ejecutamos:

[alberto@barrahome barrahome-flask]$ sudo systemctl daemon-reload
[alberto@barrahome barrahome-flask]$ sudo systemctl reload barrahome
Leer artículo...

Gitup Barrahome

Creado: Septiembre 18, 2022

Guía rápida de como utilizar Gitup para actualizar mi blog automáticamente.

Instalamos Gitup:

sudo pip3 install gitup

Habilitamos el repositorio el cual actualizaremos:

gitup --add ~/barrahome-flask

Creamos una entrada de cron:

crontad -e

Agregamos la siguiente entrada:

*/5 * * * * gitup --update

Si deseamos listar los repositorios que tenemos para actualizar podemos ejecutar lo siguiente:

gitup --list

Nos dará como salida algo como esto:

[alberto@barrahome barrahome-flask]$ gitup --list
gitup: the git-repo-updater

Current bookmarks:
    /home/alberto/barrahome-flask
[alberto@barrahome barrahome-flask]$

Gunicorn Flask Systemd

Creado: Noviembre 5, 2020

Instalación rápida de Gunicorn utilizando Systemd

Introducción

Creamos un servicio, en este caso se llamara como mi blog.

[alberto@barrahome barrahome-flask]$ sudo nano /etc/systemd/system/barrahome.service

Agregamos el siguiente contenido:

[Unit]
Description=Barrahome web application
After=network.target

[Service]
User=alberto
Group=alberto
WorkingDirectory=/home/alberto/barrahome-flask
ExecStart=/usr/bin/python3 /usr/bin/gunicorn --bind 0.0.0.0:8000 boot:app

[Install]
WantedBy=multi-user.target
Leer artículo...