Con este pequeño código haremos un autodespliegue de nuestro repositorio en nuestro servidor. Debemos tener instalando Node.js con Npm (Instalar nodejs y npm), también es necesario GIT (Instalar Git) previamente. Luego podemos seguir con las instruciones.
Instruciones:
-
copia todos los archivos en la carpeta de tu app, excepto "gitpull.sh", trata de salvar este ultimo en una ruta superior a la de tu directorio público.
-
en la carpeta donde has copiado todos los archivos, haz que npm instale todos los paquetes:
$ npm install
- ahora inicia el servicio:
$ npm start
-
Ves a las configuraciones de tu repositorio en Github, entra a WebHooks, y agrega un nuevo webhook, en este debes ingresar la url que apunte a tu app (teniendo en cuenta que no usamos proxy, entonces podemos asumir que la URL sería algo como http://tudominio.com:8080/api/git). En type seleccionemos la opción "application/x-www-form-urlencoded".
-
Clona tu repositorio en el servidor ej:
$ git clone https://github.com/user/repo.git
Nota: usa la ruta donde clonaste tu repo en gitpull.sh, ten en cuenta que debe ser relativa a la ubicación de gitpull.sh
- Salva en el servidor las credenciales de tu cuenta de github con permisos al repositorio:
$ git config credential.helper store
- ahora solo debes hacer un PUSH a tu repo master, y verás como los cambios se verán reflejados en tu servidor.