SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
-1- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
1)Rundeck 
1.1 Configuración de ambiente de trabajo 
Lo primero es configurar nuestros servidores. Tareas Pasos Detallados 
1. Verificar acceso al servidor Apache 
1. Abrir una consola de Putty 
2. Conectarse con el usuario administrador a la máquina de pruebas 
Comando: ssh root@172.20.200.68 
Contraseña: P4ssw0rd 
3. Verificar configuración de red 
#ifconfig 
IP: 172.20.200.68 
GW: 172.20.200.1 
DNS: 172.20.0.21 
Proxy: 172.20.240.5:8080 
2. Verificar acceso al servidor Rundeck 
1. Abrir otra consola de Putty 
2. Conectarse con el usuario administrador a la maquina del Rundeck 
Comando: ssh root@172.20.200.XX 
Contraseña: P4ssw0rd 
3. Verificar configuración de red 
#ifconfig 
IP: 172.20.200.XX 
GW: 172.20.200.1 
DNS: 172.20.0.21 
Proxy: 172.20.240.5:8080 
3. Verificación de los servicios de Rundeck 
1. En la consola de Putty conectada a la máquina de Rundeck 
(172.20.200.XX) verificar si el servicio de Rundeck está corriendo 
#service rundeckd status 
2. Abrir el archivo de configuración rundeck-config.properties 
#sudo nano /etc/rundeck/rundeck-config.properties 
3. Cambiar el valor de la variable grails.serverURL valor por la IP que le corresponda 
grails.serverURL=http://172.20.200.XX:4440 
4. Guardar los cambios 
5. Abrir el archivo de configuración framework.properties 
#sudo nano /etc/rundeck/framework.properties 
6. Cambiar el valor de la variable framework.server.url valor por la IP que le corresponda 
framework.server.url = http://172.20.200.XX:4440 
7. Guardar los cambios 
8. Reiniciar el servicio
-2- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
#service rundeckd restart 
9. Abrir Navegador(Chrome o Firefox) 
10. Abrir un Tab con el siguiente url: http://172.20.200.XX:4440/ 
11. Ingresar con el usuario administrador 
Usuario: admin 
Contraseña: admin 
4. Verificación de los servicios de Jenkins 
1. En la consola de Putty conectada a la máquina de Rundeck 
(172.20.200.XX) verificar si el servicio de Jenkins está corriendo 
# service jenkins status 
2. Abrir un Tab con el siguiente url: http://172.20.200.XX:8080/ 
3. Ingresar con el usuario administrador 
Usuario: admin 
Contraseña: P4ssw0rd 
1.2 Configurando proyectos 
Creando y configurando nuestro proyecto. Tareas Pasos Detallados 
1. Crear un nuevo proyecto 
1. Click en el boton “New Project” 
2. Escribir el nombre del proyecto (Evita e uso de espacios o caracteres especiales) 
3. En el panel Resource Model hacer click en “Edit” 
4. Cambiar el formato del archivo de configuración de nodos. 
Change Format: “resourceyaml” 
5. Actualizar el nombre del archivo “resources” 
File path: /var/Rundeck/project/${project}/etc/resources.yml 
6. Elegir la opción “Generate” 
7. Dejar los otros valores por defecto 
8. Click en “Save” 
9. Click en “Create” 
2. Agregar Nodos 
1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 
2. Editar el archivo de configuración 
#sudo nano /var/rundeck/project/${project}/etc/resources.yml 
3. Aumentar las siguientes lineas 
Apache: 
tags: '' 
osFamily: unix 
username: rundeck 
osArch: amd64
-3- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
osVersion: 2.6.32-431.5.1.el6.x86_64 
description: Apache server node 
nodename: 172.20.200.68 
hostname: 172.20.200.68 
osName: Linux Ubuntu 
4. Guardar los cambios en el archivo 
5. Volver a rundeck Ir a al menu “Nodes” 
6. Revisar si el nodo fue agregado con la información que se puso en el archivo de configuración en el anterior paso. 
7. Seleccionar el nodo Apache agregado y correr un comando ”Node Action>Run a command on 1 Node” 
8. En el campo de texto Command poner algún comando Shell por ejemplo: echo “Hola Mundo” 
9. Click en el botón Run on 1 node 
3. Configurar acceso remoto y permisos al usuario de Rundeck 
Nota: Pasos adicionales, necesarios debido a la clonación de las maquinas 
1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 
2. Editar el archivo passwd 
#sudo nano /etc/passwd 
3. Verificar que el usuario rundeck tenga la línea /bin/bash 
#rundeck:x:106:113:Rundeck user account:/var/lib/rundeck:/bin/bash 
4. Modificar el owner a la carpeta rundeck 
#cd /var/lib/ 
#sudo chown rundeck:rundeck rundeck 
5. Loguerarse con el usuario rundeck 
#su -rundeck 
6. Generar llaves con el siguiente comando 
#ssh-keygen 
7. Dejar todos los valores por defecto y continuar 
8. Llaves debería haber sido creadas en el folder /var/lib/rundeck/.ssh 
9. Salir de las sesión 
#exit 
Nota: No se realizara estos pasos debido a que se esta compartiendo el servidor con otros usuarios y ya se los realizaron previamente. 
10. En el nodo que fue agregado crear un nuevo usuario llamado Rundeck y configurar su contraseña 
#sudo useradd -m -G users,root -s /bin/bash rundeck 
#sudo passwd rundeck
-4- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
Pwd: rundeck 
11. Logearse con el usuario rundeck: 
#su - rundeck 
12. Crear el directorio ssh y configurar sus permisos 
#mkdir .ssh && chmod 700 .ssh 
13. Crear el archivo authorized_keys dentro el directorio .ssh 
#vim authorized_keys 
#chmod 600 .ssh/authorized_keys 
14. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 
15. Ir al directorio de las llaves (publicas/privadas) 
cd /var/lib/rundeck/.ssh 
16. Exportar la llave publica en el servidor de pruebas, utilizando el siguiente comando: 
cat id_rsa.pub | ssh rundeck@172.20.200.68 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 
17. La contraseña es P4ssw0rd 
18. Ir a la máquina de pruebas 172.20.200.68 y verificar si la llave fue agregada correctamente 
#sudo nano /home/rundeck/.ssh/authorized_keys 
19. Volver a la consola de rundeck 
20. Seleccionar el nodo Apache agregado y correr un ”Node Action>Run a command on 1 Node” 
21. En el campo de texto Command poner algún comando Shell por ejemplo: echo “Hola Mundo” 
22. Click en el botón “Run on 1 node” 
23. El job debería correr satisfactoriamente, revisar la información relacionada con la ejecución y los logs. 
4. Crear Usuarios 
1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 
2. Ir al siguiente directorio /etc/rundeck/ 
#cd /etc/rundeck/ 
3. Editar el archivo de configuración realm.properties 
#sudo nano realm.properties 
4. Agregar usuario de la siguiente manera: 
usuario: MD5:8efe310f9ab3efeae8d410a8e0166eb2,user 
Nota: Puede generar la contraseña en MD5 en el siguiente sitio http://www.md5.cz/ 
5. Guardar los cambios en el archivo 
6. Ir a la página de Rundeck y Ingresar con el usuario creado
-5- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
Usuario:”usuario” 
Contraseña:"P4ssw0rd" 
7. Usuario debería tener permisos restringidos, debido a que el usuario pertenece solo al grupo de Users 
Nota: para modificar el nivel de permiso puede modificar el archivo admin.aclpolicy 
#nano /etc/rundeck/admin.aclpolicy
-6- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
1.3 Aprendiendo a crear Jobs 
Creando nuestros primero Jobs Tareas Pasos Detallados 
1. Crear primer job 
1. Abrir la pagina de Rundeck en el url: http://172.20.200.XX:4440/ 
2. Ingresar con el usuario administrador 
3. Seleccionar el proyecto creado anteriormente. 
4. Ir al menú jobs y hacer click en “Create a new job” 
5. Llenar los siguientes campos 
Job Name: PrimerJob 
Description: Hola mundo 
6. Click en “Add a step” 
a. Selecccionar Script –Execute an inline script 
b. En el editor mostrado escribir el siguiente comando 
#echo “Hola mundo” 
7. Guardar el step creado 
8. En la opcion Nodes seleccionar “Dispatch to Nodes” 
9. En Filter hacer click in Show all nodes 
10. Seleccionar el servidor Apache 
11. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 
12. Hacer click en “Run Job Now” 
2. Crear un job con parámetros 
1. Abrir la pagina de Rundeck en el url: http://172.20.200.XX:4440/ 
2. Ingresar con el usuario administrador 
3. Seleccionar el proyecto creado anteriormente. 
4. Ir al menú jobs y hacer click en “Create a new job” 
5. Llenar los siguientes campos 
Job Name: OtherJob 
Description: Job con parametros 
6. Click en “Add an option” 
a. Option Name: nombre 
b. Description: Nombre completo 
c. Default value: Joel_moya 
d. Dejar otros valores por defecto 
e. Note en la opcion ”Usage” que el nombre de la variable es mostrado ${option.nombre} 
f. Click en save para guardar los cambio en los parametros 
7. Click en “Add a step”
-7- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
8. Selecccionar Script –Execute an inline script 
9. En el editor mostrado escribir el siguiente comando 
#mkdir /home/rundeck/@option.nombre@ 
10. Guardar el step creado 
11. En la Opcion Nodes seleccionar Dispatch to Nodes 
12. En Filter hacer click in Show all nodes 
13. Seleccionar el servidor Apache 
14. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 
15. Hacer click en Run Job Now 
3. Crear un job con manejo de errores 
1. Seleccionar el job creado en el anterior paso 
2. Click en el submenú “Definition” 
3. Click en “Duplicate to a New Job” 
4. Cambiar el “Job Name“ 
5. Ir al step creado en la seccion “Workflow“ 
6. Selecccionar el script script 
7. Hacer click en el botón “+error handler” 
8. Un nuevo editor será mostrado escribir los siguientes comandos 
# cd /home/rundeck 
#rm -rf @option.nombre@ 
#echo el directorio El Job ha fallado porque el folder existía, el job correrá nuevamente 
9. Guardar el step creado 
10. En el campo “Retry” poner un valor 1 
11. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 
12. Hacer click en Run Job Now 
4. Ejecutar comandos en línea 
1. Ir al menú “Commands“ 
2. En el campo de texto “Command” poner un comando Shell 
#whoami 
3. En la “Opcion Nodes” seleccionar “Dispatch to Nodes” 
4. En “Filter” hacer click in Show all nodes 
5. Seleccionar el servidor Apache 
6. Click en el botón “Run on 1 node” 
7. El nombre del usuario debería ser mostrado en la ejecución del server. 
8. Click en “Save as a Job” 
9. Guardar el nuevo job con diferente nombre 
10. Click en “Create”
-8- 
A u t o r : J o e l R i c h a r d M o y a L u p e 
1.4 Integración con Jenkins 
Invocando Rundeck desde Jenkins Tareas Pasos Detallados 
1. Integración con Jenkins – Configurando el pluging 
1. Abrir un Tab con el siguiente url: http://172.20.200.XX:8080 
2. Ingresar con el usuario administrador 
Usuario: admin 
Contraseña: P4ssw0rd 
3. Ir al menú de configuración “Jenkins>Manage Jenkins>Configure System” 
4. Buscar la configuración del pluging de Jenkins y configurarlo de la siguiente manera: 
URL: http://172.20.200.XX:4440 
Login: admin 
Password:admin 
5. Buscar la configuración del plugin the Jenkins y configurarlo de la siguiente manera: 
2. Creando un Job para publicar una aplicación en Apache 
Rundeck 
1. Crear un nuevo Job, hacer click en “Create a new job” 
2. Llenar los siguientes campos 
Job Name: JenkinsTriggerJob 
3. Click en “Add a step” 
c. Selecccionar Script –Execute an inline script 
d. En el editor mostrado escribir el siguiente comando 
#ssh rundeck@172.20.200.68 mkdir /var/www/html/joelmoya 
#scp -rp /var/lib/jenkins/jobs/Deploy/workspace/ rundeck@172.20.200.68:/var/www/html/joelmoya 
4. Guardar el step creado 
5. En la opcion Nodes seleccionar “Execute locally” 
6. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 
Jenkins 
1. En Jenkins crear un nuevo job “New Item>Freestyle project” 
2. Seleccione Git en “Source Code management” 
3. Repository URL:https://github.com/TiendaNube/sample-php-app.git 
4. En la sección “Post-build Action” seleccione Rundeck 
5. Poner el ID de un de los jobs de Rundeck 
6. 99234298-cfdd-496f-b992-b165fcd34803 
7. Guardar los cambios 
8. Note que el Icono de Rundeck aparece en el menú de la izquierda y también se puede ver detalles del Job 
9. Correr el Job en Jenkins

Más contenido relacionado

Similar a Tz2014 workshop rundeck

Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIXTaller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIXRichard Eliseo Mendoza Gafaro
 
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdf
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdfADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdf
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdfRafaelPusda
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerNombre Apellidos
 
Configuración de servidores en CentOs 6.3
Configuración de servidores en CentOs 6.3Configuración de servidores en CentOs 6.3
Configuración de servidores en CentOs 6.3Jennifer Rivera Jose
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Vicente Gerardo Guzman Lucio
 
Memoria sere jpiris
Memoria sere jpirisMemoria sere jpiris
Memoria sere jpirisfjpiris
 
1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSqlAland Laines Calonge
 
Receta red social
Receta red socialReceta red social
Receta red socialwalterose7
 
Configuración de clientes y servidores DNS para Windows y Linux
Configuración de clientes y servidores DNS para Windows y LinuxConfiguración de clientes y servidores DNS para Windows y Linux
Configuración de clientes y servidores DNS para Windows y LinuxMiguel Fernando
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 

Similar a Tz2014 workshop rundeck (20)

Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIXTaller plataformas tecnológicas ORACLE MSDOS Y UNIX
Taller plataformas tecnológicas ORACLE MSDOS Y UNIX
 
Cherokee
CherokeeCherokee
Cherokee
 
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdf
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdfADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdf
ADMINISTACIÓN AVANZADA DE SERVIDORES_Rafael Pusda.pdf
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Configuración de servidores en CentOs 6.3
Configuración de servidores en CentOs 6.3Configuración de servidores en CentOs 6.3
Configuración de servidores en CentOs 6.3
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
Creacion y Administracion de servicios usando Docker - .Net Conf Mx 2018
 
Memoria sere jpiris
Memoria sere jpirisMemoria sere jpiris
Memoria sere jpiris
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql1 Introduccion - Curso Cakephp y PostgreSql
1 Introduccion - Curso Cakephp y PostgreSql
 
Servicio web
Servicio webServicio web
Servicio web
 
Receta red social
Receta red socialReceta red social
Receta red social
 
Configuración de clientes y servidores DNS para Windows y Linux
Configuración de clientes y servidores DNS para Windows y LinuxConfiguración de clientes y servidores DNS para Windows y Linux
Configuración de clientes y servidores DNS para Windows y Linux
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Cherokee presentacion
Cherokee presentacionCherokee presentacion
Cherokee presentacion
 
Servicio apache gnu linux-centos ::: http://leymebamba.com
Servicio apache  gnu linux-centos  ::: http://leymebamba.comServicio apache  gnu linux-centos  ::: http://leymebamba.com
Servicio apache gnu linux-centos ::: http://leymebamba.com
 
taller-proxy
taller-proxytaller-proxy
taller-proxy
 
Curso Redes Linex 2
Curso Redes Linex 2Curso Redes Linex 2
Curso Redes Linex 2
 
Curso Redes Linex 2
Curso Redes Linex 2Curso Redes Linex 2
Curso Redes Linex 2
 

Tz2014 workshop rundeck

  • 1. -1- A u t o r : J o e l R i c h a r d M o y a L u p e 1)Rundeck 1.1 Configuración de ambiente de trabajo Lo primero es configurar nuestros servidores. Tareas Pasos Detallados 1. Verificar acceso al servidor Apache 1. Abrir una consola de Putty 2. Conectarse con el usuario administrador a la máquina de pruebas Comando: ssh root@172.20.200.68 Contraseña: P4ssw0rd 3. Verificar configuración de red #ifconfig IP: 172.20.200.68 GW: 172.20.200.1 DNS: 172.20.0.21 Proxy: 172.20.240.5:8080 2. Verificar acceso al servidor Rundeck 1. Abrir otra consola de Putty 2. Conectarse con el usuario administrador a la maquina del Rundeck Comando: ssh root@172.20.200.XX Contraseña: P4ssw0rd 3. Verificar configuración de red #ifconfig IP: 172.20.200.XX GW: 172.20.200.1 DNS: 172.20.0.21 Proxy: 172.20.240.5:8080 3. Verificación de los servicios de Rundeck 1. En la consola de Putty conectada a la máquina de Rundeck (172.20.200.XX) verificar si el servicio de Rundeck está corriendo #service rundeckd status 2. Abrir el archivo de configuración rundeck-config.properties #sudo nano /etc/rundeck/rundeck-config.properties 3. Cambiar el valor de la variable grails.serverURL valor por la IP que le corresponda grails.serverURL=http://172.20.200.XX:4440 4. Guardar los cambios 5. Abrir el archivo de configuración framework.properties #sudo nano /etc/rundeck/framework.properties 6. Cambiar el valor de la variable framework.server.url valor por la IP que le corresponda framework.server.url = http://172.20.200.XX:4440 7. Guardar los cambios 8. Reiniciar el servicio
  • 2. -2- A u t o r : J o e l R i c h a r d M o y a L u p e #service rundeckd restart 9. Abrir Navegador(Chrome o Firefox) 10. Abrir un Tab con el siguiente url: http://172.20.200.XX:4440/ 11. Ingresar con el usuario administrador Usuario: admin Contraseña: admin 4. Verificación de los servicios de Jenkins 1. En la consola de Putty conectada a la máquina de Rundeck (172.20.200.XX) verificar si el servicio de Jenkins está corriendo # service jenkins status 2. Abrir un Tab con el siguiente url: http://172.20.200.XX:8080/ 3. Ingresar con el usuario administrador Usuario: admin Contraseña: P4ssw0rd 1.2 Configurando proyectos Creando y configurando nuestro proyecto. Tareas Pasos Detallados 1. Crear un nuevo proyecto 1. Click en el boton “New Project” 2. Escribir el nombre del proyecto (Evita e uso de espacios o caracteres especiales) 3. En el panel Resource Model hacer click en “Edit” 4. Cambiar el formato del archivo de configuración de nodos. Change Format: “resourceyaml” 5. Actualizar el nombre del archivo “resources” File path: /var/Rundeck/project/${project}/etc/resources.yml 6. Elegir la opción “Generate” 7. Dejar los otros valores por defecto 8. Click en “Save” 9. Click en “Create” 2. Agregar Nodos 1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 2. Editar el archivo de configuración #sudo nano /var/rundeck/project/${project}/etc/resources.yml 3. Aumentar las siguientes lineas Apache: tags: '' osFamily: unix username: rundeck osArch: amd64
  • 3. -3- A u t o r : J o e l R i c h a r d M o y a L u p e osVersion: 2.6.32-431.5.1.el6.x86_64 description: Apache server node nodename: 172.20.200.68 hostname: 172.20.200.68 osName: Linux Ubuntu 4. Guardar los cambios en el archivo 5. Volver a rundeck Ir a al menu “Nodes” 6. Revisar si el nodo fue agregado con la información que se puso en el archivo de configuración en el anterior paso. 7. Seleccionar el nodo Apache agregado y correr un comando ”Node Action>Run a command on 1 Node” 8. En el campo de texto Command poner algún comando Shell por ejemplo: echo “Hola Mundo” 9. Click en el botón Run on 1 node 3. Configurar acceso remoto y permisos al usuario de Rundeck Nota: Pasos adicionales, necesarios debido a la clonación de las maquinas 1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 2. Editar el archivo passwd #sudo nano /etc/passwd 3. Verificar que el usuario rundeck tenga la línea /bin/bash #rundeck:x:106:113:Rundeck user account:/var/lib/rundeck:/bin/bash 4. Modificar el owner a la carpeta rundeck #cd /var/lib/ #sudo chown rundeck:rundeck rundeck 5. Loguerarse con el usuario rundeck #su -rundeck 6. Generar llaves con el siguiente comando #ssh-keygen 7. Dejar todos los valores por defecto y continuar 8. Llaves debería haber sido creadas en el folder /var/lib/rundeck/.ssh 9. Salir de las sesión #exit Nota: No se realizara estos pasos debido a que se esta compartiendo el servidor con otros usuarios y ya se los realizaron previamente. 10. En el nodo que fue agregado crear un nuevo usuario llamado Rundeck y configurar su contraseña #sudo useradd -m -G users,root -s /bin/bash rundeck #sudo passwd rundeck
  • 4. -4- A u t o r : J o e l R i c h a r d M o y a L u p e Pwd: rundeck 11. Logearse con el usuario rundeck: #su - rundeck 12. Crear el directorio ssh y configurar sus permisos #mkdir .ssh && chmod 700 .ssh 13. Crear el archivo authorized_keys dentro el directorio .ssh #vim authorized_keys #chmod 600 .ssh/authorized_keys 14. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 15. Ir al directorio de las llaves (publicas/privadas) cd /var/lib/rundeck/.ssh 16. Exportar la llave publica en el servidor de pruebas, utilizando el siguiente comando: cat id_rsa.pub | ssh rundeck@172.20.200.68 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 17. La contraseña es P4ssw0rd 18. Ir a la máquina de pruebas 172.20.200.68 y verificar si la llave fue agregada correctamente #sudo nano /home/rundeck/.ssh/authorized_keys 19. Volver a la consola de rundeck 20. Seleccionar el nodo Apache agregado y correr un ”Node Action>Run a command on 1 Node” 21. En el campo de texto Command poner algún comando Shell por ejemplo: echo “Hola Mundo” 22. Click en el botón “Run on 1 node” 23. El job debería correr satisfactoriamente, revisar la información relacionada con la ejecución y los logs. 4. Crear Usuarios 1. Ir a la consola de Putty y conectarse como administrador a la máquina de Rundeck 2. Ir al siguiente directorio /etc/rundeck/ #cd /etc/rundeck/ 3. Editar el archivo de configuración realm.properties #sudo nano realm.properties 4. Agregar usuario de la siguiente manera: usuario: MD5:8efe310f9ab3efeae8d410a8e0166eb2,user Nota: Puede generar la contraseña en MD5 en el siguiente sitio http://www.md5.cz/ 5. Guardar los cambios en el archivo 6. Ir a la página de Rundeck y Ingresar con el usuario creado
  • 5. -5- A u t o r : J o e l R i c h a r d M o y a L u p e Usuario:”usuario” Contraseña:"P4ssw0rd" 7. Usuario debería tener permisos restringidos, debido a que el usuario pertenece solo al grupo de Users Nota: para modificar el nivel de permiso puede modificar el archivo admin.aclpolicy #nano /etc/rundeck/admin.aclpolicy
  • 6. -6- A u t o r : J o e l R i c h a r d M o y a L u p e 1.3 Aprendiendo a crear Jobs Creando nuestros primero Jobs Tareas Pasos Detallados 1. Crear primer job 1. Abrir la pagina de Rundeck en el url: http://172.20.200.XX:4440/ 2. Ingresar con el usuario administrador 3. Seleccionar el proyecto creado anteriormente. 4. Ir al menú jobs y hacer click en “Create a new job” 5. Llenar los siguientes campos Job Name: PrimerJob Description: Hola mundo 6. Click en “Add a step” a. Selecccionar Script –Execute an inline script b. En el editor mostrado escribir el siguiente comando #echo “Hola mundo” 7. Guardar el step creado 8. En la opcion Nodes seleccionar “Dispatch to Nodes” 9. En Filter hacer click in Show all nodes 10. Seleccionar el servidor Apache 11. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 12. Hacer click en “Run Job Now” 2. Crear un job con parámetros 1. Abrir la pagina de Rundeck en el url: http://172.20.200.XX:4440/ 2. Ingresar con el usuario administrador 3. Seleccionar el proyecto creado anteriormente. 4. Ir al menú jobs y hacer click en “Create a new job” 5. Llenar los siguientes campos Job Name: OtherJob Description: Job con parametros 6. Click en “Add an option” a. Option Name: nombre b. Description: Nombre completo c. Default value: Joel_moya d. Dejar otros valores por defecto e. Note en la opcion ”Usage” que el nombre de la variable es mostrado ${option.nombre} f. Click en save para guardar los cambio en los parametros 7. Click en “Add a step”
  • 7. -7- A u t o r : J o e l R i c h a r d M o y a L u p e 8. Selecccionar Script –Execute an inline script 9. En el editor mostrado escribir el siguiente comando #mkdir /home/rundeck/@option.nombre@ 10. Guardar el step creado 11. En la Opcion Nodes seleccionar Dispatch to Nodes 12. En Filter hacer click in Show all nodes 13. Seleccionar el servidor Apache 14. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 15. Hacer click en Run Job Now 3. Crear un job con manejo de errores 1. Seleccionar el job creado en el anterior paso 2. Click en el submenú “Definition” 3. Click en “Duplicate to a New Job” 4. Cambiar el “Job Name“ 5. Ir al step creado en la seccion “Workflow“ 6. Selecccionar el script script 7. Hacer click en el botón “+error handler” 8. Un nuevo editor será mostrado escribir los siguientes comandos # cd /home/rundeck #rm -rf @option.nombre@ #echo el directorio El Job ha fallado porque el folder existía, el job correrá nuevamente 9. Guardar el step creado 10. En el campo “Retry” poner un valor 1 11. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job 12. Hacer click en Run Job Now 4. Ejecutar comandos en línea 1. Ir al menú “Commands“ 2. En el campo de texto “Command” poner un comando Shell #whoami 3. En la “Opcion Nodes” seleccionar “Dispatch to Nodes” 4. En “Filter” hacer click in Show all nodes 5. Seleccionar el servidor Apache 6. Click en el botón “Run on 1 node” 7. El nombre del usuario debería ser mostrado en la ejecución del server. 8. Click en “Save as a Job” 9. Guardar el nuevo job con diferente nombre 10. Click en “Create”
  • 8. -8- A u t o r : J o e l R i c h a r d M o y a L u p e 1.4 Integración con Jenkins Invocando Rundeck desde Jenkins Tareas Pasos Detallados 1. Integración con Jenkins – Configurando el pluging 1. Abrir un Tab con el siguiente url: http://172.20.200.XX:8080 2. Ingresar con el usuario administrador Usuario: admin Contraseña: P4ssw0rd 3. Ir al menú de configuración “Jenkins>Manage Jenkins>Configure System” 4. Buscar la configuración del pluging de Jenkins y configurarlo de la siguiente manera: URL: http://172.20.200.XX:4440 Login: admin Password:admin 5. Buscar la configuración del plugin the Jenkins y configurarlo de la siguiente manera: 2. Creando un Job para publicar una aplicación en Apache Rundeck 1. Crear un nuevo Job, hacer click en “Create a new job” 2. Llenar los siguientes campos Job Name: JenkinsTriggerJob 3. Click en “Add a step” c. Selecccionar Script –Execute an inline script d. En el editor mostrado escribir el siguiente comando #ssh rundeck@172.20.200.68 mkdir /var/www/html/joelmoya #scp -rp /var/lib/jenkins/jobs/Deploy/workspace/ rundeck@172.20.200.68:/var/www/html/joelmoya 4. Guardar el step creado 5. En la opcion Nodes seleccionar “Execute locally” 6. Dejar los otros valores por defecto y hacer click en Create para guardar los cambios en el Job Jenkins 1. En Jenkins crear un nuevo job “New Item>Freestyle project” 2. Seleccione Git en “Source Code management” 3. Repository URL:https://github.com/TiendaNube/sample-php-app.git 4. En la sección “Post-build Action” seleccione Rundeck 5. Poner el ID de un de los jobs de Rundeck 6. 99234298-cfdd-496f-b992-b165fcd34803 7. Guardar los cambios 8. Note que el Icono de Rundeck aparece en el menú de la izquierda y también se puede ver detalles del Job 9. Correr el Job en Jenkins