[pyar] Actualización desatendida app Flask

Luis Andraschnik luis.andraschnik en gmail.com
Jue Abr 12 12:55:06 -03 2018


Hola Juan

Voy a usar esa idea pero en puro python que me manejo mejor que con Bash,
awk y compañía.
Saludos

El 11 de abril de 2018, 0:30, Juan Carizza <juan.carizza en gmail.com>
escribió:

> Este script compara el hash del ultimo commit local con el hash del ultimo
> commit remoto, si son diferentes hay una nueva version (suponiendo que no
> uses los tags de git para nombrar las versiones). Pones eso en un archivo
> con permisos de ejecucion y configuras un crontab que vaya ejecutando el
> script cada tanto. Para configurar el crontab podes orientarte con
> http://crontab.guru/
>
> #!/bin/bash
>
> BRANCH_LOCAL=master
> BRANCH_REMOTO=origin/master
>
> ULTIMO_COMMIT_VERSION_LOCAL="$(git  log --pretty=oneline $BRANCH_LOCAL |
> head -n1 | awk '{print $1}')"
> ULTIMO_COMMIT_VERSION_REMOTA="$(git  log --pretty=oneline $BRANCH_REMOTO
> | head -n1 | awk '{print $1}')"
>
> if [ "$ULTIMO_COMMIT_VERSION_REMOTA" != "$ULTIMO_COMMIT_VERSION_LOCAL" ];
> then
>     echo "Hay una nueva version"
>     # ejecutar comandos
>     #git pull origin master
>     #supervisorctl restart
> fi
>
>
> Saludos!
>
>
> El 10 de abril de 2018, 14:59, Luis Andraschnik<luis.andraschnik en gmail.com
> > escribió:
>
>> Hola Pedro
>> Para mí a Abril de 2018, eso es "too much", quizá para el futuro (Docker,
>> ngrok, proxys reversos ....) hasta ssh, git y fabric llego!
>>
>> Leí en git que existe un Server-Side Hooks, post-receive. No sé cómo
>> puede actuar con un cliente git que esté en la raspberrypi
>>
>> The post-receive hook runs after the entire process is completed and can
>> be used to update other services or notify users. It takes the same stdin
>> data as the pre-receive hook. Examples include emailing a list,
>> notifying a continuous integration server, or updating a ticket-tracking
>> system – you can even parse the commit messages to see if any tickets need
>> to be opened, modified, or closed. This script can’t stop the push process,
>> but the client doesn’t disconnect until it has completed, so be careful if
>> you try to do anything that may take a long time.
>>
>>
>>
>> El 10 de abril de 2018, 13:30, Pedro Pezzarini <jose2190 en gmail.com>
>> escribió:
>>
>>> Tengo un escenario similar (pero sin Raspberries), usamos Docker (que
>>> hacen un pull y actualizan los entornos virtuales cada vez que inician) y
>>> Google pub/sub para recibir el trigger de reinicio de los contenedores.
>>> En Google cloudfunctions haces un Hook simple que reciba el request de
>>> git y llame a pubsub.
>>>
>>> Otra es hacer un proxy reverso por SSH o ngrok y hacer tú deploy cómo
>>> venís haciendo ...
>>>
>>> Otra número 2, es usar un proxy reverso o ngrok y configurar git para
>>> que reciba los triggers directamente ....
>>>
>>>
>>>
>>>
>>> On Tue, Apr 10, 2018, 1:13 PM Luis Andraschnik <
>>> luis.andraschnik en gmail.com> wrote:
>>>
>>>> Hola!
>>>>
>>>> Tengo una aplicación flask, con supervisord y Gunicorn corriendo en una
>>>> LAN, en una Raspberry PI (oficina) y otra idéntica en otra LAN
>>>> (laboratorio). La aplicación la tengo en un repositorio git remoto en
>>>> Dropbox (uso git-remote-dropbox que anda bárbaro), Yo tengo acceso via ssh
>>>> a una Rpi a la vez, así que me gustaría que cuando hago un git push en el
>>>> repositorio Git remoto, mis servers detecten automáticamente que hay una
>>>> nueva versión y hagan un git pull. Actualmente lo hago a mano o a lo sumo
>>>> con fabric. El problema es que no tengo acceso ssh via internet sino sólo
>>>> en las LANs.
>>>>
>>>> Se me ocurre que cuando reinice las Rpi lo primero que hagan es un git
>>>> pull antes de levantar el server de flask, una solución media bruta y que
>>>> requiere que llame por teléfono y pida a alguien que me desconecte la RPI
>>>> del otro sitio, otra no se me ocurre,, no sé si git o flask tiene ayudas
>>>> para autoupdate.
>>>>
>>>> Sugerencias?
>>>> Gracias!
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180412/57c73f16/attachment.html>


Más información sobre la lista de distribución pyar