Herramientas de usuario

Herramientas del sitio


clase:daw:daw:2eval:tema09

¡Esta es una revisión vieja del documento!


9. Despliegue continuo

Introducción

Contenedor con Jenkins

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.

root por SSH

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
En un entorno real o sin que haya un cortafuegos delante de la máquina, nunca deberíamos permitir que con root se pueda acceder a la máquina real. Sin embargo lo vamos nosotros a permitir ya que estamos en un entorno educativo.

SSH2 Easy

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.

  • Instalar en Jenkis el plugin "SSH2 Easy":
    • En Jenkins pulsa "Administrar Jenkins" , "Administrar Plugins" y "Todos los plugins"
    • En el campo de búsqueda, escribe "SSH2 Easy"
    • Marca el plugin "SSH2 Easy" y pulsa "Instalar sin reiniciar"
    • Espera unos segundos y pulsa en "Volver al inicio de la página"



  • Configurar el plugin "SSH2 Easy":
    • Vuelve a "Administrar Jenkins" y pulsa en "Configurar el sistema"
    • Ves al apartado de "Server Groups Center"
    • En el apartado "Server Group List" pulsa en Añadir y rellena lo siguiente
      • Group Name: Máquina Real
      • Password: La contraseña de root de tu máquina real.
    • Pulsa en el botón "Guardar" que hay al final de la página.
    • Vuelve a "Administrar Jenkins" y pulsa en "Configurar el sistema"
    • Ves al apartado de "Server Groups Center"
    • En el apartado "Server List" pulsa en Añadir y rellena lo siguiente:
      • Server Group: Máquina real.
      • Server Name: maquina-real
      • Server IP: La IP de la máquina real.

Crear un Job

Vamos ahora a crear una tarea para poder ejecutar un script desde Jenkins en la máquina real.

  • Pulsa en "Nueva Tarea" , escribe "Tarea de Prueba" , selecciona "Crear un proyecto de estilo libre" y luego pulsa el botón "OK"
  • Ves al apartado de "Ejecutar" y en el desplegable de "Añadir una acción", selecciona "Remote shell".
  • El el campo "shell" , escribe
mkdir /carpeta_desde_docker
  • Pulsa el botón de "Guardar".
  • Pulsa en "Construir ahora"
  • Si todo ha ido bien, en tu máquina real ahora tendrás la carpeta /carpeta_desde_docker. Ya puedes borrarla.
clase/daw/daw/2eval/tema09.1608280079.txt.gz · Última modificación: 2020/12/18 09:27 por admin