Cree una aplicación de meteoritos en un gancho GitLab personalizado

Cree una aplicación de meteoritos en un gancho GitLab personalizado

¿Cómo creo una aplicación de meteoritos (haga 'meteor build.') en un gancho personalizado de GitLab? El gancho personalizado lo ejecuta el usuario git, que no parece tener ninguna posibilidad de ejecutar meteor build.

Por lo tanto, quiero cambiar el usuario en el script por alguien que sepa que puede crear la aplicación.

Este es mi archivo bash hasta ahora:

#!/bin/sh
#

# The deployed directory
DEPLOYDIR=/var/www/site/

echo " - Starting checkout"
GIT_WORK_TREE="$DEPLOYDIR" git checkout -f
echo " - Finished checkout" 

echo " - Starting meteor build"
#not working yet
sudo su - nodejs
cd "$DEPLOYDIR"
meteor build .

Respuesta1

su - usercomienza uninteractivoshell con el usuario user. Querrás usar lo siguiente:

su -c "cd \"$DEPLOYDIR\"; meteor build ." nodejs

Disección:

su: suejecutable
-c "COMMAND": ejecutar COMMANDcomo otro usuario
nodejs: nodejsusuario

información relacionada