Este tutorial existe para estas versiones de SO
- Ubuntu 20.04 (fosa focal)
- Ubuntu 18.04 (castor biónico)
- Ubuntu 16.04 (Xenial Xerus)
En esta página
- Requisito previo
Jenkins es un servidor de automatización derivado del proyecto Hudson. Jenkins es una aplicación basada en servidor que se ejecuta en un contenedor de servlet de Java, es compatible con muchos sistemas de software SCM (Source Control Management), incluidos Git, SVN y Mercurial. Jenkins proporciona cientos de complementos para automatizar su proyecto. Jenkins creado por Kohsuke Kawaguchi, lanzado por primera vez en 2011 bajo licencia MIT, y es software libre.
En este tutorial, le mostraré cómo instalar la última versión de Jenkins en Ubuntu Server 16.04. Ejecutaremos Jenkins en nuestro propio nombre de dominio e instalaremos y configuraremos Jenkins para que se ejecute en el servidor web apache con el proxy inverso para Jenkins.
Requisito previo
- Servidor Ubuntu 16.04 - 64 bits
- Privilegios de raíz
Paso 1:instalar Java OpenJDK 7
Jenkins se basa en Java, por lo que debemos instalar Java OpenJDK versión 7 en el servidor. En este paso, instalaremos Java 7 desde un repositorio de PPA que agregaremos primero.
De forma predeterminada, Ubuntu 16.04 se envía sin el paquete python-software-properties para administrar los repositorios de PPA, por lo que primero debemos instalar este paquete. Instale python-software-properties con el comando apt.
apt-get install python-software-properties
A continuación, agregue el repositorio PPA de Java al servidor.
add-apt-repository ppa:openjdk-r/ppa
Just Press ENTER
Actualice el repositorio de Ubuntu e instale Java OpenJDK con el comando apt.
apt-get update
apt-get install openjdk-7-jdk
Verifique la instalación escribiendo el siguiente comando:
java -version
y obtendrá la versión de Java que está instalada en el servidor.
Paso 2:instalar Jenkins
Jenkins proporciona un repositorio de Ubuntu para los paquetes de instalación e instalaremos Jenkins desde este repositorio.
Agregue la clave y el repositorio de Jenkins al sistema con el siguiente comando.
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list
Actualice el repositorio e instale Jenkins.
apt-get update
apt-get install jenkins
Cuando termine la instalación, inicie Jenkins con este comando systemctl.
systemctl start jenkins
Verifique que Jenkins se esté ejecutando comprobando el puerto predeterminado utilizado por Jenkins (puerto 8080). Lo comprobaré con el siguiente comando netstat:
netstat -plntu
Jenkins está instalado y ejecutándose en el puerto 8080.
Paso 3:instalar y configurar Apache como proxy inverso para Jenkins
En este tutorial ejecutaremos Jenkins detrás de un servidor web apache, configuraremos apache como proxy inverso para Jenkins. Primero instalaré apache y habilitaré algunos módulos requeridos, y luego crearé el archivo de host virtual con el nombre de dominio my.jenkins.id para Jenkins. Utilice aquí su propio nombre de dominio y reemplácelo en todos los archivos de configuración dondequiera que aparezca.
Instale el servidor web apache2 desde el repositorio de Ubuntu.
apt-get install apache2
Cuando finalice la instalación, habilite los módulos proxy y proxy_http para que podamos configurar apache como servidor frontend/proxy inverso para Jenkins.
a2enmod proxy
a2enmod proxy_http
A continuación, cree un nuevo archivo de host virtual en el directorio de sitios disponibles.
cd /etc/apache2/sites-available/
vim jenkins.conf
Pegue la configuración del host virtual a continuación.
<Virtualhost *:80>
ServerName my.jenkins.id
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://my.jenkins.id/
</Virtualhost>
Guarda el archivo. Luego active el host virtual de Jenkins con el comando a2ensite.
a2ensite jenkins
Reinicie Apache y Jenkins.
systemctl restart apache2
systemctl restart jenkins
Compruebe que Jenkins y Apache estén utilizando los puertos 80 y 8000.
netstat -plntu
Paso 4:configurar Jenkins
Jenkins se ejecuta en el nombre de dominio 'my.jenkins.id'. Abra su navegador web y escriba la URL. Obtendrá la pantalla que le solicita que ingrese la contraseña de administrador inicial. Jenkins ya ha generado una contraseña, por lo que solo tenemos que mostrar y copiar los resultados en el cuadro de contraseña.
Mostrar la contraseña de administrador inicial de Jenkins con el comando cat.
cat /var/lib/jenkins/secrets/initialAdminPassword
a1789d1561bf413c938122c599cf65c9
Pegue los resultados en la pantalla y haga clic en 'Continuar '.
Ahora debemos instalar algunos complementos en Jenkins para obtener una buena base para su uso posterior. Elija 'Instalar complementos sugeridos ', haga clic en él.
Instalaciones de complementos de Jenkins en curso.
Después de la instalación del complemento, debemos crear una nueva contraseña de administrador. Escriba su nombre de usuario de administrador, contraseña, correo electrónico, etc. y haga clic en 'Guardar y finalizar '.
Haga clic en iniciar y comience a usar Jenkins. Será redirigido al panel de administración de Jenkins.
La instalación y configuración de Jenkins finalizó con éxito
Paso 5:seguridad de Jenkins
Desde el panel de administración de Jenkins, debemos configurar los ajustes de seguridad estándar para Jenkins, haga clic en 'Administrar Jenkins ' y luego 'Configurar seguridad global '.
Jenkins proporciona varios métodos de autorización en el 'Control de acceso ' sección. Selecciono 'Seguridad basada en Matrix ' para poder controlar todos los privilegios de los usuarios. Habilite el usuario administrador en el cuadro 'Usuario/Grupo ' y haz clic en añadir . Dale al administrador todos los privilegios marcando todas las opciones , y otorgue al anónimo permisos de lectura. Ahora haga clic en 'Guardar '.
Se le redirigirá al panel de control y, si hay una opción de inicio de sesión, simplemente escriba su usuario y contraseña de administrador.
Paso 6:probar un trabajo de automatización simple
En esta sección, solo quiero probar un trabajo simple para el servidor Jenkins. Crearé un trabajo simple para probar Jenkins y averiguar la carga del servidor con el comando superior.
Desde el panel de administración de Jenkins, haga clic en 'Crear nuevo trabajo '.
Ingrese el nombre del trabajo, usaré 'Sistema de verificación' aquí, seleccione 'Proyecto Freestyle ' y haga clic en 'Aceptar '.
Vaya a 'Construir ' pestaña. En el 'Agregar paso de compilación ', seleccione la opción 'Ejecutar shell '.
Escriba el siguiente comando en el cuadro.
top -b -n 1 | head -n 5
Haga clic en 'Guardar '.
Ahora se encuentra en la página de trabajo del trabajo 'Sistema de verificación de proyectos'. Haga clic en 'Crear ahora ' para ejecutar el trabajo 'comprobación del sistema'.
Una vez que se haya ejecutado el trabajo, verá el 'Historial de compilación ', haga clic en el primer trabajo para ver los resultados.
Estos son los resultados del trabajo ejecutado por Jenkins.
La instalación de Jenkins con el servidor web Apache en Ubuntu 16.04 se completó con éxito.