Imagínate que estás desarrollando una aplicación en local, con un repositorio remoto en Git y después de hacer los cambios pertinentes al código, quieres desplegar el código en otro servidor web para que se vea directamente. Todo eso se puede hacer con Git.
Servidor de producción
Instalar Git en el servidor
sudo apt-get install git
Configurar Git en el servidor
Creamos el directorio donde se desplegará el proyecto:
mkdir -p /var/www/sitioweb
y ahora creamos un directorio por ejemplo en la carpeta home para albergar el repositorio:
mkdir -p sitioweb.git cd sitioweb.git git init --bare git config core.worktree /var/www/sitioweb git config core.bare false git config receive.denycurrentbranch ignore
Si nos da error, creamos el fichero config a mano
sudo nano config
y dentro de él metemos:
[core] repositoryformatversion = 0 filemode = true bare = false worktree = /var/www/sitioweb [receive] denycurrentbranch = ignore
(si no nos hubiese dado error, esto ya estaría creado a partir de los primeros comandos)
Ahora creamos el fichero post-receive:
sudo nano hooks/post-receive
y dentro ponemos la rama a desplegar, en mi caso la test:
#!/bin/sh git checkout -f test
ahora le damos permisos de ejecución:
sudo chmod +x hooks/post-receive
y en modo local
añadimos el repositorio remoto a git con el nombre web y hacemos un push de la rama test al mismo:
git remote add web ssh://usuario@servidor/home/usuario/sitioweb.git git push web test
Nos pedirá la contraseña ssh para el usuario, y hará el deploy en el servidor.
Si nos equivocamos poniendo el repositorio git remoto, siempre podremos editarlo:
git remote set-url web ssh://usuario@servidor/home/usuario/sitioweb.git
También podremos ver el listado de los repositorios remotos y sus URL’s con el comando:
git remote -v
Últimos comentarios