Primeros pasos: Instalación de Jenkins en una máquina virtual Linux de Azure

En este artículo se muestra cómo instalar Jenkins en una máquina virtual Ubuntu Linux con las herramientas y los complementos configurados para que funcionen con Azure.

En este artículo, aprenderá a:

  • Crear un archivo de instalación que descargue e instale Jenkins.
  • Crear un grupo de recursos
  • Crear una máquina virtual con el archivo de instalación.
  • Abra el puerto 8080 para tener acceso a Jenkins en la máquina virtual.
  • Conectarse a la máquina virtual mediante SSH.
  • Configurar un trabajo de Jenkins de ejemplo basado en una aplicación de Java de ejemplo de GitHub.
  • Compilar el trabajo de Jenkins de ejemplo.

1. Configurar su entorno

  • Suscripción de Azure: si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

2. Apertura de Cloud Shell

  1. Si ya tiene abierta una sesión de Cloud Shell, puede ir directamente a la sección siguiente.

  2. Inicie sesión en Azure Portal.

  3. Si es necesario, inicie sesión en su suscripción de Azure y cambie el directorio de Azure.

  4. Abra Cloud Shell.

    Open Cloud Shell from the top menu in the Azure portal.

  5. Si no ha usado anteriormente Cloud Shell, configure el entorno y las opciones de almacenamiento.

  6. Seleccione el entorno de línea de comandos.

    Select the CLI you want to use in Cloud Shell.

3. Creación de una máquina virtual

  1. Cree un directorio de prueba llamado jenkins-get-started.

  2. Cambie al directorio de prueba.

  3. Cree un archivo llamado cloud-init-jenkins.txt.

  4. Pegue el código siguiente en el nuevo archivo:

    #cloud-config
    package_upgrade: true
    runcmd:
      - sudo apt install openjdk-11-jre -y
      - curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
      -  echo 'deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/' | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
      - sudo apt-get update && sudo apt-get install jenkins -y
      - sudo service jenkins restart
    
    
    
  5. Ejecute az group create para crear un grupo de recursos.

    az group create --name jenkins-get-started-rg --location eastus
    
  6. Ejecute az vm create para crear una máquina virtual.

    az vm create \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm \
    --image UbuntuLTS \
    --admin-username "azureuser" \
    --generate-ssh-keys \
    --public-ip-sku Standard \
    --custom-data cloud-init-jenkins.txt
    
  7. Ejecute az vm list para comprobar la creación (y el estado) de la nueva máquina virtual.

    az vm list -d -o table --query "[?name=='jenkins-get-started-vm']"
    
  8. Como Jenkins se ejecuta en el puerto 8080, ejecute az vm open para abrir el puerto 8080 en la nueva máquina virtual.

    az vm open-port \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm  \
    --port 8080 --priority 1010
    

4. Configuración de Jenkins

  1. Ejecute az vm show para obtener la dirección IP pública de la máquina virtual de ejemplo.

    az vm show \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm -d \
    --query [publicIps] \
    --output tsv
    

    Puntos clave:

    • El parámetro --query limita la salida a las direcciones IP públicas de la máquina virtual.
  2. Use la dirección IP recuperada en el paso anterior para conectarse a la máquina virtual mediante SSH. Deberá confirmar la solicitud de conexión.

    ssh azureuser@<ip_address>
    

    Puntos clave:

    • Después de una conexión correcta, el símbolo del sistema de Cloud Shell incluye el nombre de usuario y el nombre de la máquina virtual: azureuser@jenkins-get-started-vm.
  3. Compruebe que Jenkins está en ejecución; para ello, obtenga el estado del servicio de Jenkins.

    service jenkins status
    

    Puntos clave:

    • Si recibe un error que indica que el servicio no existe, es posible que tenga que esperar un par de minutos para que todo se instale e inicialice.
  4. Obtenga la contraseña de Jenkins generada automáticamente.

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    
  5. Con la dirección IP, abra la siguiente dirección URL en un explorador: http://<ip_address>:8080

  6. Escriba la contraseña que recuperó anteriormente y seleccione Continue (Continuar).

    Initial page to unlock Jenkins

  7. Seleccione Select plug-in to install (Seleccionar el complemento que se va a instalar).

    Select the option to install selected plug-ins

  8. En el cuadro de filtro de la parte superior de la página, escriba github. Seleccione el complemento de GitHub y seleccione Install (Instalar).

    Install the GitHub plug-ins

  9. Escriba la información del primer usuario administrador y seleccione Save and Continue (Guardar y continuar).

    Enter information for first admin user

  10. En la página Instance Configuration (Configuración de instancia), seleccione Save and Finish (Guardar y finalizar).

    Confirmation page for instance configuration

  11. Seleccione Start using Jenkins (Empezar a usar Jenkins).

    Jenkins is ready!

5. Creación del primer trabajo

  1. En la página principal de Jenkins, seleccione Create a job (Crear un trabajo).

    Jenkins console home page

  2. Escriba mySampleApp como nombre del trabajo, seleccione Freestyle project (Proyecto de estilo libre) y haga clic en OK (Aceptar).

    New job creation

  3. Seleccione la pestaña Source Code Management (Administración del código fuente). Habilite Git y escriba la siguiente dirección URL como valor del campo Repository URL (Dirección URL del repositorio): https://github.com/spring-guides/gs-spring-boot.git. A continuación, cambie el especificador de rama a */main.

    Define the Git repo

  4. Seleccione la pestaña Build (Compilación) y, a continuación, seleccione Add build step (Agregar paso de compilación).

    Add a new build step

  5. En el menú desplegable, seleccione Invoke Gradle script (Invocar script de Gradle).

    Select the Gradle script option

  6. Seleccione Use Gradle Wrapper (Usar contenedor de Gradle). A continuación, escriba complete en Wrapper location (Ubicación del contenedor) y build en Tasks (Tareas).

    Gradle script options

  7. Seleccione Advanced (Avanzado) y escriba complete en el campo Root Build script (Script de compilación raíz).

    Advanced Gradle script options

  8. Desplácese a la parte inferior de la página y seleccione Save (Guardar).

6. Compilación de la aplicación de Java de ejemplo

  1. Cuando se muestre la página principal del proyecto, seleccione Build Now (Compilar ahora) para compilar el código y empaquetar la aplicación de ejemplo.

    Project home page

  2. Un gráfico debajo del encabezado Build History (Historial de compilación) indica que se está compilando el trabajo.

    Job-build in progress

  3. Cuando se complete la compilación, seleccione el vínculo Workspace (Área de trabajo).

    Select the workspace link.

  4. Vaya a complete/build/libs para comprobar que el archivo .jar se ha compilado correctamente.

    The target library verifies the build succeeded.

  5. El servidor de Jenkins ya está listo para compilar sus propios proyectos en Azure.

Solucionar problemas

Si tiene problemas para configurar Jenkins, consulte la página de instalación de Jenkins para ver las instrucciones más recientes y los problemas conocidos.

Pasos siguientes