Sunteți pe pagina 1din 5

Docker

& Jenkins: Integracin continua


desde cero

1.1

Instalando las aplicaciones necesarias

Antes de empezar confirmamos el acceso a la maquina asignada, con el IP provisto, y que tengamos
acceso a los repositorios de Github a usarse en el taller: https://github.com/kassanmoor/fossildocker
Tareas
1. Instalar
Jenkins

Pasos Detallados
1. Nos logueamos a la maquina remota por ssh con el usuario root
ssh root@172.20.200.66
2. Aadimos la llave del repositorio de Jenkins
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key
add 3. Agregamos el repositorio de Jenkins a las fuentes
sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ >
/etc/apt/sources.list.d/jenkins.list'
4.

Actualizamos los paquetes

apt-get update
5. Instalamos Jenkins
apt-get install jenkins
6. Iniciamos el servicio de Jenkins
7. Finalmente verificamos que este funcionando accediendo a su url
desde un navegador web:
http://172.20.200.66:8080
2. Instalar
Docker y
obtener la
imagen de
Debian

1. Instalamos curl
apt-get install curl
2. Lanzamos el instalador automatic de docker con el siguiente comando
curl -sSL https://get.docker.com/ubuntu/ | sudo sh
3. Confirmamos la versin, debe ser 1.3.2 o superior
docker -v
4. Obtenemos la imagen de Debian Wheezy que ser nuestra imagen
base
docker pull debian:wheezy
5. Verificamos que Docker este funcionando correctamente con el
comando:
docker run -i -t debian:wheezy cat /etc/*-release




-1-

A u t o r : M a r t i n K e n n e t h M i c h a l s k y

service jenkins start


La salida debe ser similar a lo siguiente:
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"

1.2

Creando un job de jenkins conectado a Github

Teniendo Docker y Jenkins instalados y conociendo los comandos bsicos de docker, procedemos a
crear un job para que trabajen juntos
Pasos Detallados
1. Instalar el
plugin de
github y
SSH Slaves
plugin

6. Ir a la url de jenkins
7. Abrir la opcin Manage Jenkins
8. Ir a la opcin Manage Plugins
9. Abrir la pestaa available
10. Buscar Publish Over SSH Plugin y seleccionarlo
11. Buscar github plugin en el filtro
12. Seleccionar GitHub plugin y la opcion Download now and install after
restart
13. Seleccionar la opcion Restart Jenkins when installation is completed

3. Configurar
el acceso al
host remoto

1. Abrir la opcin Manage Jenkins/configure server


2. En la seccin Publish over SSH/SSH servers oprimir el boton add
3. llenar los datos del servidor remoto donde se esta ejecutando Docker,
en caso de no tener un servidor extra colocar los datos del servidor
local, ejemplo:
SSH Server
Name:

cualquier nombre ejemplo TZDockerServer

Hostname:ip o nombre del host Docker


Username: root
Remote Directory /home
Use password authentication,
Passphrase / Password
4. Presionar el botn advanced
5. Marcar la opcin de password authentication, or use a different key



-2-

A u t o r : M a r t i n K e n n e t h M i c h a l s k y

14. esto instalara todos los plugins necesarios


6. En el campo Passphrase / Password ingresar el passwword del
servidor remoto
7. Presionar test configuration para probar la conexin, si es exitosa
pasar al siguiente paso, caso contrario revisar los valores ingresados
8. Presionar Save para guardar los cambios
4. Crear el job
para Fossil

1. Clickear la opcin New Item


2. Escribir un nombre relacionando, ejemplo Fossil Deploy
3. Elegir la Opcin freestyle Project y presionar ok
4. En la seccin GitHub project introducir la direccin
https://github.com/kassanmoor/fossildocker.git
5. En Source code management elegir Gut y en repository url apuntar a
https://github.com/kassanmoor/fossildocker.git
6. En la seccin Build presionar add build step y la opcin execute Shell
7. En el campo command aadir:
tar -zcvf source.tar.gz source
tar -zcvf Dockerfile.tar.gz Dockerfile
8. En build environmnet section check Send files or execute commands
over SSH before the build starts
En server select the server configured before
In remote directory set fossil
In exec command set:
rm -rf /home/fossil
docker stop fossilcontainer

En name set the remote server configured before


En source files put **/**.tar.gz/**
En remote directory set fossil
Presionar advanced e incrementar exec tiemout a 720000
En exec command set:
cd /home/fossil/
tar -xvf /home/fossil/Dockerfile.tar.gz
tar -xvf /home/fossil/source.tar.gz
docker build -t fossilimage /home/fossil/
docker run --name fossilcontainer -d -p 9090:8080 -t fossilimage
1. Guardar los cambios
2. Ejecutar el job



-3-

A u t o r : M a r t i n K e n n e t h M i c h a l s k y

docker rm fossilcontainer
1. Marcar Send files or execute commands over SSH after the build runs


3. Ir a el puerto 9090 de la ip usada ejemplo: http://172.20.200.66:9090
4. Loguearse con las credenciales admin password: techzone
5. Realizar algn cambio, por ejemplo el nombre del proyecto
6. Regresar a Jenkins y ejecutar nuevamente el Job







A u t o r : M a r t i n K e n n e t h M i c h a l s k y
















-4-

A u t o r : M a r t i n K e n n e t h M i c h a l s k y

-5-

S-ar putea să vă placă și