GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Jenkins Automation Server con Apache en Ubuntu 18.04

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 un software gratuito.

En este tutorial, le mostraré cómo instalar la última versión estable de Jenkins en Ubuntu Server 18.04 LTS (Bionic Beaver). Ejecutaremos Jenkins en nuestro propio nombre de dominio e instalaremos y configuraremos Jenkins para que se ejecute bajo el proxy inverso del servidor web Apache.

Requisitos

  • Ubuntu 18.04
  • Privilegios de raíz

¿Qué haremos?

  1. Instalar Java
  2. Instalar Jenkins
  3. Instalar y configurar Apache2 como proxy inverso para Jenkins
  4. Configurar el cortafuegos UFW
  5. Configurar Jenkins
  6. Seguridad Jenkins
  7. Pruebas

Paso 1 - Instalar Java

Jenkins es una aplicación basada en Java, por lo que debemos instalar Java OpenJDK en el servidor. En este paso, instalaremos Java 8 desde un repositorio PPA que agregaremos primero.

Instale los paquetes comunes de propiedades de software y luego agregue el repositorio Java OpenJDK PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Ahora instale Java 8 usando el comando apt.

sudo apt install openjdk-8-jdk -y

Cuando se complete la instalación, verifique la versión de Java instalada en el sistema.

java -version

Y obtendrá que Java OpenJDK 1.8 ahora está instalado en el sistema Ubuntu 18.04.

Nota:

  • Si tiene varias versiones de Java en su sistema, cambie la versión predeterminada de Java con el siguiente comando.
sudo update-alternatives --config java

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

Ahora actualice el repositorio e instale Jenkins.

sudo apt update
sudo apt install jenkins -y

Cuando se complete la instalación, inicie el servicio Jenkins y agréguelo al tiempo de arranque.

systemctl start jenkins
systemctl enable jenkins

Jenkins ahora está funcionando en el servidor Ubuntu 18.04, ejecutándose en el puerto predeterminado '8080'. Compruébalo usando netstat como se muestra a continuación.

netstat -plntu

Y obtendrá el resultado como se muestra a continuación.

Paso 3:instalar y configurar Apache2 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 instalaremos Apache y habilitaremos algunos módulos requeridos, y luego crearemos el archivo de host virtual con el nombre de dominio jenkins.hakase-labs.io 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.

sudo apt install apache2 -y

Cuando se complete la instalación, habilite los módulos proxy y proxy_http para que podamos configurar apache como servidor front-end/proxy inverso para Jenkins.

a2enmod proxy
a2enmod proxy_http

A continuación, cree un nuevo archivo de host virtual para Jenkins 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        jenkins.hakase-labs.io
    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://jenkins.hakase-labs.io/
</Virtualhost>

Guarde y salga, luego active el host virtual de Jenkins con el comando a2ensite.

a2ensite jenkins

Reinicie los servicios de Apache y Jenkins.

systemctl restart apache2
systemctl restart jenkins

Se completó la instalación y configuración de apache2 como proxy inverso para Jenkins.

Paso 4:configurar el cortafuegos UFW

Antes de habilitar el firewall UFW en el servidor Ubuntu, debemos agregar el puerto de servicios básicos como SSH, HTTP y HTTPS.

Agregue servicios SSH, HTTP y HTTPS al firewall ufw.

ufw allow ssh
ufw allow http
ufw allow https

Ahora inicie y habilite el firewall ufw.

ufw enable

escriba 'y' y presione Entrar.

El firewall UFW ahora está habilitado y se agregó el puerto HTTP.

Paso 5:Configurar Jenkins

Jenkins se ejecuta en el nombre de dominio 'http://jenkins.hakase-labs.io'. 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.

Muestra la contraseña de administrador inicial de Jenkins con el comando cat.

cat /var/lib/jenkins/secrets/initialAdminPassword

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.

Una vez completada la instalación de los complementos, 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 continuar'.

Para la configuración de la instancia, escriba el nombre de dominio de Jenkins 'http://jenkins.hakase-labs.io' y haga clic en el botón 'Guardar y finalizar'.

Ahora haga clic en el botón 'Empezar a usar Jenkins'.

Y será redirigido al panel de administración de Jenkins.

La instalación y configuración de Jenkins se completó con éxito

Paso 6:seguridad de Jenkins

Desde el panel de administración de Jenkins, debemos configurar los ajustes de seguridad estándar para Jenkins, hacer clic en 'Administrar Jenkins' y luego en 'Configurar seguridad global'.

Jenkins proporciona varios métodos de autorización en la sección 'Control de acceso'. Usaremos la 'Seguridad basada en Matrix' para poder controlar todos los privilegios de los usuarios.

Agregue el usuario 'hakase' en el cuadro 'Usuario/Grupo' y haga clic en agregar.

Otorgue al usuario 'hakase' todos los privilegios marcando todas las opciones y haga clic en el botón '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 7 - Prueba

En esta sección, queremos crear un trabajo simple para el servidor Jenkins. Crearemos 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'.

Escriba el nombre del trabajo. Usaremos 'Sistema de verificación' aquí, seleccione 'Proyecto de estilo libre' y haga clic en 'Aceptar'.

Vaya a la pestaña 'Construir'. En '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'.

Después de ejecutar el trabajo, verá el 'Historial de construcción', haga clic en el primer trabajo para ver los resultados.

Estos son los resultados del trabajo ejecutado por Jenkins.

La instalación y configuración de la herramienta de automatización de Jenkins con Apache2 como proxy inverso en Ubuntu 18.04 se completó con éxito.

Referencias

  • https://wiki.jenkins.io/
  • https://wiki.jenkins.io/Configuración+de+seguridad+estándar
  • https://jenkins-le-guide-completa.github.io/

Ubuntu
  1. Cómo instalar WordPress con Apache en Ubuntu 18.04

  2. Cómo instalar Joomla con Apache en Ubuntu 18.04

  3. Cómo instalar Laravel en Ubuntu 18.04 con Apache

  4. Cómo instalar Jenkins en Ubuntu 18.04

  5. Cómo instalar Jenkins Automation Server con Apache en Ubuntu 16.04

Cómo instalar FileRun en Ubuntu 20.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 18.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar el servidor web Apache en Ubuntu 18.04

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache