[Ganciodocker] Gancio deploy automatico | Pull request
matus
matus en enmotoneta.com
Vie Jun 11 12:29:50 CEST 2021
On 11/6/21 11:35, Siroco wrote:
> Quoting matus (2021-06-10 20:55:25)
>> hola gente,
>>
>> tengo un [nuevo pull request][1] para nuestro gancio
>> este es el ultimo de los que tenia en mente
>>
>> [1]: https://git.sindominio.net/gancio/docker-gancio/pulls/4
>>
>> con este, agregamos un nuevo comando a gancio, llamado `deploy`, que nos
>> permite deplegar e iniciar una instancia de gancio configurandola con dos
>> archivos: `config.json` y `.env`.
>>
>> este metodo de instalacion no necesita interaccion con la usuaria (algo que si
>> requere el proceso estandar).
>>
>> con este ultimo cambio, ya estamos listos para automatizar el despliegue de
>> instancias gancio por dentro de sindominio (o otro proveedor de servicios).
>>
>> aun no he participado de estas actividades de despliegues automaticos en
>> sindominio, pero si me invitan, encantado seguimos empunando esto.
>>
>>
>> salute,
> Que bien,
>
> he autorizado el pull y cuando tenga un ratito me lo miro para volcarlo
> a estibadores y probar la instancia en Sindominio. Lo único, en la versión de Estibadorees, voy a añadirle la option de usuario de ejecución
> del container para estantarizarlo con el resto de docker-compose de los
> otros servicios.
este cambio romperia lo que tenemos andando actualmente. os cuento
porque pienso esto:
tal y como esta, el docker de gancio se inicia y ejecuta el entrypoint
como `root`, hace unas acciones sobre archivos y permisos, y luego deja
todo listo para ejecutar el Docker Command como usuaria `gancio`. Con
esto logramos que el servicio de gancio se ejecute con usuaria no-root
dentro del docker.
la usuaria gancio se crea durante la construccion del docker (build), y
la UID se puede gestionar con un parametro que se pasa al proceso de
build (por defecto 110, definido en el Dockerfile, que creo que es lo
que usa SD).
ahora, si definimos un `user` dentro del `docker-compose.yml`, esta
usuaria se utiliza desde el inicio del docker, y por ende ejecuta el
entrypoint con esta usuaria. como nuestro entrypoint gestiona
propiedad/permisos de archivos, solo funciona si es ejecutado por `root`
y por esto no podemos usar esta opcion
si necesitamos el parametro `user` de forma forzosa en nuestro
`docker-compose.yml`, entonces tenemos que delegar en la persona que
instale el servicio la gestion de la propiedad y permisos de archivos
(para lo que, en la mayoria de los casos, necesitara sudo/root en el host).
@siroco, ya nos comentas si el definir el user en el
`docker-compose.yml` es algo mandatorio o no?
por otro lado, hay un tema tambien con la politica de reinicio de
dockers que me gustaria entender mejor. me pregunto si hay algun valor
que se deba usar siempre, para `restart`? por ejemplo, si usamos
`always`, los servicios se reinician cuando se reinicia el host. si
usamos `no`, valor por defecto, si un host se reinicia los servicios que
se ejecutan en docker no lo hacen. esto podria tener un pequeño impacto
en la forma en la que se haga el script de despliegue, para evitar que
un docker que no levanta bien entre en loop.
> Pero por el resto, creo que cuando queráis, podemos
> probar de lanzar convoca.la con esta versión.
@fadelkon, estas tambien en la lista de organizacion de convoca.la? ...
si fuese el caso, nos contas como viene la mano por ese lado?
en el hacklab logout nos interesa tener una instancia propia para seguir
trasteando. quiza podemos aprovechar y levantar una instancia dentro de
SD (donde ya tenemos web y codigo) y aprovechar para debuguear esta
nueva integracion y que quede listo para despliegues desde Lawry?
> Me comentáis y si os animáis, apuntaís el dominio de convoca.la a SD y
> me encargo de configurar los proxies para apuntarlo a Gancio.
>
> src
Más información sobre la lista de distribución Ganciodocker