descargar automaticamente repo // auto git pull #git #ubuntu #server
como primera opcion podemos hacer descargarnos todo el repo en un zip con el siguiente comando es necesario buscar el token
1 vamos a profile settings
2 hacemos click en account
y ya tendremos nuestro token para ser usado en el siguiente comando
Terminal:
curl -Lk -o cirelramos.zip 'https://gitlab.com/zcqopx/pruebaparablogger/repository/archive.zip?private_token=dasd654a312das'
Terminal:
curl -Lk -o testFonax.md 'https://gitlab.com/zcqopx/preload/raw/master/README.md?private_token=312odajsldkjsa'
como segunda opción podemos usar ssh configuramos los parametros globales ojo si no han creado la llave ssh pueden mirar este tutorial
http://cirelramos.blogspot.com/2015/08/manejar-proyectos-con-gitlab-subir.html
ok, manos a la obra:
Terminal:
git config --global user.name "zcqopx"
Terminal:
git config --global user.email "zcqopx@gmail.com"
OJO ESTE ES MI GITLAB USTEDES TIENEN OTRO USUARIO Y EMAIL
#entramos en la carpeta del proyecto antes creado
Terminal:
cd existing_folder
#inicializamos git
Terminal:
git init
#añadimos el repo
Terminal:
git remote add origin git@gitlab.com:zcqopx/pruebaparablogger.git
#ahora sincronizamos los archivos locales con el origen del repo y el branch(rama), en este caso solo tengo la rama "master" es lo mas comun
Terminal:
git pull origin
por los pasos anteriores te debes dar cuenta que fue necesario colocar la clave de tu ssh para ejecutar el comando, para evitarnos esto y que se pueda ejecutar el script sin problemas utilizaremos el siguiente comando
Terminal:
ssh-add
es posible que te de el error:
Could not open a connection to your authentication agent.
entonces ejecutaras
Terminal:
eval `ssh-agent -s`
y de nuevo el comando anterior: "ssh-add"
te pedira de nuevo la contraseña y ya quedara guardada mientras la session este activa :)
este comando por si quieres cancelar el anterior: eval $(ssh-agent)
instalamos keychain
Terminal:
apt-get install keychain
nos logeamos como root
Terminal:
sudo su
agregamos un comando para al entrar a root
Terminal:
nano /root/.bashrc
y agregar
/usr/bin/keychain $HOME/.ssh/id_rsa
source $HOME/.keychain/$HOSTNAME-sh
#hasta aqui
PRESIONAN CTRL+O para guardar y CTRL+X para salir
salimos de root
Terminal:
exit
entramos de nuevo
Terminal:
sudo su
ahora el script
Terminal:
nano /root/cargarRepo.sh
copiamos lo siguiente
#!/bin/bash
source /root/.keychain/ubuntu-sh
#en linea anterior puede cambiar un poco en el ultimo archivo dependiendo el nombre de la maquina por lo tanto lo mejor es que hagan un
#ls -la /root/.keychain/
# y asi verifiquen el nombre del archivo-sh y remplazar por el nombre adecuado
cd /var/www;
echo "cambio de directorio";
#/usr/bin/git pull -q origin;
git pull origin
git fetch origin;
git checkout -f origin/master;
#hasta aqui
ahora en el contrab
Terminal:
crontab -e
*/1 * * * * /bin/bash -l -c 'sh /root/cargarRepo.sh > /root/cargarRepo-log'
#hasta aqui
con estos comandos estaria completa la actualizacion continua del repositorio, no solamente puede ser un repo o mejor aun una sola rama del mismo repo, cualquier duda comenta y lo mas pronto posible te la resuelvo
0 comentarios :