En este apartado, lo que haremos es configurar nuestro cliente de Jenkins (jenkins-cli-ub.ilba.cat) en una Ubuntu 16.04 LTS y posteriormente hacer que se reinicie mediante un Job de Jenkins. Como siempre, es aconsejable tener el sistema operativo actualizado. Este Job lo podríamos programar para que se ejecute a determinadas horas y programar una actualización, de esta manera tendríamos actualizados nuestros sistemas operativos basados en Linux
El esquema lógico sería el siguiente:
Para poder lanzar comando desde nuestro servidor de Jenkins (jenkins-ub.ilba.cat), el cual realiza las funcionalidades de master se ha de añadir una línea a nuestro fichero de configuración del servidor de destino (jenkins-cli-ub.ilba.cat). Sin esta modificación del fichero de sshd_config, no podremos gestionar el servidor de destino. Editaremos el fichero, añadiremos la línea indicada y posteriormente reiniciaremos el demonio tal como se indica:
root@jenkins-cli-ub:~# vim /etc/ssh/sshd_config
KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
root@jenkins-cli-ub:~# systemctl restart ssh
Instalaremos el plugin de acceso SSH, de la misma forma que he explicado anteriormente cuando hemos instalado nuestro primer plugin para poder cambiar el idioma de nuestro servidor de Jenkins. La URL de descarga del plugin de SSH es: https://wiki.jenkins-ci.org/display/JENKINS/SSH+plugin
Una vez descargado el fichero hpi e instalado el plugin que nos permitirá lanzar comandos de SSH contra nuestro cliente de Jenkins (jenkins-cli-ub.ilba.cat), lo configuraremos:
Hay dos puntos a comentar en la siguiente captura, que creo que pueden ser de gran ayuda:
- Sería mejor usar claves ssh para el acceso a los clientes de Jenkins, pero para agilizar el post le indicaremos el password del root
- Se ha de verificar que hay acceso DNS al servidor de destino desde nuestro servidor de Jenkins, ya que si usamos IP’s en vez de nombres la administración se puede hacer muy compleja. Para ello desde el servidor de Jenkins realizaremos un ping al FQDN del servidor de destino.
Crearemos un nuevo job, en el cual le indicaremos el servidor que hemos de reiniciar y le indicaremos el comando de realizar (shutdown -r), que en nuestro caso será el reinicio del equipo. Recordar que es importante indicarle el servidor que usaremos, ya que posteriormente añadiremos un Windows y de no hacerlo así, el comando se podría lanzar en cualquier servidor de los que tengamos configurados en nuestra plataforma de Jenkins.

Una vez configurado el Job, lo lanzaremos y podremos observar que el servidor de destino (jenkins-cli-ub.ilba.cat) se reinicia:
Como siempre, para hacer más ameno el post lo he divido en diferentes partes:



Buen dia y como puedo ejecutar tareas en multiples servidores
Buenos dias soy bastante inesperto en Jenkins: Po eso tengo esta pregunta tan basica
en el parte de tutorial que indica:
Editaremos el fichero, añadiremos la línea indicada y posteriormente reiniciaremos el demonio tal como se indica:
root@jenkins-cli-ub:~# vim /etc/ssh/sshd_config
KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
Esta informacion se coloca talcual como indica arriba.