¡Esta es una revisión vieja del documento!
Jenkins es lo que se llama un "Servidor de automatización".
Hay abundante documentación sobre él , en los siguientes enlaces:
Aunque Jenkins pueda parecer sencillo o superfluo, usar Jenkins es el camino para hacer software de calidad.:
En ejercicios de temas anteriores hemos visto como instalar Jenkins.Ahora vamos a ejecutar un Script desde Jenkins en la máquina real.
Antes que nada debemos permitir que se pueda acceder por SSH como root desde la máquina real. Esto lo vamos a necesitar ya que desde Jenkins vamos a ejecutar "npm run deploy" en la máquina real y para ello necesitamos ser root.
Para permitirlo hay que lanzar las siguientes órdenes:
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo systemctl restart ssh.service
Despues habrá que cambiar la contraseña a root con la siguiente orden:
sudo passwd root
Otra cosa que necesitamos hacer es instalar y configurar el plugin "SSH2 Easy" para poder acceder por SSH a la máquina real y así lanzar las órdenes en la máquina real.
Ahora vamos a añadir un API Token. Es como una contraseña para el usuario.
El token lo vamos a usar porque con ese token podremos lanzar un Job remotamente usando URL similares a la siguiente:
http://jenkinslorenzo.daw2.pve2.fpmislata.com/job/Desplegar/build?token=53453453453453acd353453efa34534554
Vamos ahora a crear una tarea para poder ejecutar un script desde Jenkins en la máquina real.
http://jenkinslorenzo.daw2.pve2.fpmislata.com/job/Desplegar/build?token=53453453453453acd353453efa34534554
cd /carpeta del proyecto git fetch --prune git checkout master git merge --ff-only origin/master npm run deploy
Ahora vamos a automatizar la ejecución del Script anterior usando Jenkins
/var/jenkins_home
se almacene dentro de /opt/tuNombre/docker/jenkins
alumno
.Desplegar
que ejecute lo siguiente en la máquina realcd /opt/tuNombre/ejemplodaw git fetch --prune --force git checkout master git merge --ff-only origin/master npm run deploy
Ahora haz un cambio en el SASS en master , súbelos a GitHub y ejecuta el Job de Jenkins.Prueba a navegar a http://tuNombre.daw2.pve2.fpmislata.com y se verán los cambios. Ahora haz un cambio en el HTML en master , súbelos a GitHub y ejecuta el Job de Jenkins.Prueba a navegar a http://tuNombre.daw2.pve2.fpmislata.com y se verán los cambios.
Lo último que vamos a hacer para automatizar todo el proceso de despliegue es hacer que cuando haya un cambio en master que se despliegue automáticamente el código.
Para hacerlo deberás: