0% encontró este documento útil (0 votos)
25 vistas9 páginas

Guía de Instalación y Uso de Jenkins

Este documento describe cómo instalar y configurar Jenkins para automatizar tareas. Explica cómo integrar Jenkins con Git, instalar plugins, configurar proyectos y tareas, y ejecutar builds.

Cargado por

ospraher
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas9 páginas

Guía de Instalación y Uso de Jenkins

Este documento describe cómo instalar y configurar Jenkins para automatizar tareas. Explica cómo integrar Jenkins con Git, instalar plugins, configurar proyectos y tareas, y ejecutar builds.

Cargado por

ospraher
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Jenkins se integra a la perfección con Git para poder ejecutar tareas con

determinadas acciones Git, por ejemplo cuando se lanza un pull request,


cuando se pushea a una determinada rama, cuando se crea una rama, etc.
Además de integrarse con Git, también tiene la posibilidad de instalar muchos
plugins para extender su funcionalidad.

Cómo instalar Jenkins. Tutorial básico


Para instalar Jenkins en tu servidor primero te tienes que bajar una versión
desde su página web oficial: [Link]

Como ves, hay dos versiones, la LTS y la Weekly, la versión LTS la sacan
anualmente de tal forma que sea lo más estable posible, si por el contrario,
quieres estar siempre a la última escoge la Weekly, aunque puede tener ciertos
bugs.

Lo bueno es que para ambas versiones ofrecen descargas para todo tipo de
servidores y sistemas por lo que no vas a tener problema en ningún servidor,
incluso hay una versión en docker por si lo quieres tener en un contenedor
aislado.

Para instalarlo, depende del sistema en el que lo vayas a ejecutar, pero


básicamente se resume en descargar el paquete disponible desde tu repositorio
de paquetes de la distro en el que se instale, o si lo preferimos, descargar el .war
y ejecutarlo de la siguiente manera:

java -jar jenkins*.war

De todas formas te dejo un enlace oficial en inglés de como instalarlo en los


diferentes sistemas: [Link]

En mi caso particular voy a instalarlo en docker para hacer pruebas en local y


poder gestionarlo facilmente. Para ello simplemente he descargado la imagen
de docker desde Kitematic (una GUI de docker que recomiendo) y la he
ejecutado.

Configuración de Jenkins y cómo instalar


plugins
Tras ejecuta Jenkins nos dirigimos a la ruta en local donde lo hayamos
configurado, en mi caso, [Link] y nos aparecerá una imagen
tal que así:

Como ves lo que tienes que hacer es dirigirte a la ruta que indica para poner la
contraseña del administrador, en mi caso, al ser en docker, el asistente de
instalación ya me dió la contraseña en consola:
Tras poner la consola nos preguntará si queremos instalar los plugins
recomendados:

Yo voy a seleccionarlos manualmente para ver que opciones tenemos y poder


decidir mejor. En la siguiente pantalla aparecerá algo tal que así:
Como puedes ver hay un montón de opciones ordenados en categorías junto a
su descripción. Los que aparecer marcados por defecto son los recomendados.
Esta parte es subjetiva, cada uno instala los que considere mejor para su caso
de uso.

A mi personalmente me gusta mucho build-name-setter para poder poner


nombres a los builds por ejemplo si queremos diferenciar ciertos builds y
econtrarlos con facilidad. También me gusta mucho rebuilder para volver a
ejecutar un build anterior con los mismos parámetros. En cuanto a las build
tools marco nodejs y desmarco gradle ya que personalmente no lo voy a
utilizar. El de cobertura lo instalo por si quiero pasar tests en un proyecto. Por
último en Source Code Management selecciono Github que es con lo que suelo
trabajar y desmarco suversion. Estos son los que a mí, personalmente, me
parecen los mejores plugins de Jenkins, pero como he dicho antes, aquí cada
uno que seleccione lo que más le interese.
Hacemos clic en install y esperamos a que instale Jenkins y los plugins que
hemos seleccionado. Tranquilo porque si posteriormete quieres añadir plugins
nuevos lo puedes hacer desde el panel de control.

Por último nos va a pedir un usuario para usar con Jenkins, aunque también
podemos continuar como admin. Y listo ya tenemos Jenkins instalado y listo
para empezar a usar.

Primeros pasos con Jenkins: Tutorial para


empezar a usarlo
Lo que vas a leer a continuación no se trata de un manual exhaustivo ni de un
tutorial de Jenkins en profundidad, simplemente es una aproximación y una
guia básica de funcionamiento. Tanto si eres usuario con conocimientos
básicos o una persona que se dedique en específico al devops, te recomiendo
que leas este tutorial de cómo funciona Jenkins por si te sirve algo para tu caso
de uso particular.

Tras instalarlo la pantalla principal que aparecerá es como esta:

Jenkins se basa en tareas. Como su nombre indica una tarea es un trabajo o un


conjunto de instrucciones que podemos programar para que ocurran con una
determinada acción. Si pinchas en crear una nueva tarea:

Voy a crear una tarea de ejemplo para ver como funciona este sistema. Para ello
pongo un nombre a la tarea y selecciono crear proyecto estilo libre para poder
configurarlo a mi gusto:
Si has elegido plugins distintos al mío seguramente te salgan otras opciones. La
primera sección es para la configuración básica como el nombre del proyecto la
descripción, cómo vamos a querer las ejecuciones si queremos desechar las
antiguas automáticamente, etc.

Más abajo podrás encontrar el origen del código, en mi caso he puesto git y he
pegado la dirección del repositorio de Gihub, como ves, puedes seleccionar el
origen de la rama, credenciales y qué disparador vamos a querer. Las
ejecuciones pueden ser desde scripts, cuando se haga otro build,
periódicamente (en cuyo caso hay que indicar cada cuanto tiempo),
disparadores para gitscm y periódicamente consultando el repositorio. Yo voy a
escoger consultar repositorio y voy a introducir H/15** para que se ejecute si
hay un cambio en el repositorio cada 15 minutos. Si no sabes lo que significa
H/15** esta expresión no te preocupes porque te voy a dejar un generador de
estas expresiones, para que sepas cómo programar tareas en Jenkins:
[Link]
Al final encontramos dónde queremos que se ejecuten las tareas y qué
queremos ejecutar antes y despues. Desde las opciones de entorno de
ejecución podemos configurar cómo se van a ejecutar los build, si vamos a
poner ficheros de configuración, por ejemplo, o si vamos a indicar rutas para
los PATH de node y npm, o de si vamos a darle un nombre específico a la
ejecución (si tenemos instalado el plugin), etc.

Para decidir qué queremos ejecutar hay muchas opciones dependiendo del
tipo de proyecto que vayamos a ejecutar, pueden ser comandos de línea de
comandos, comandos nodejs, comandos de windows, etc. Como ves se puede
adaptar a todo tipo de proyectos y topdavía se puede ampliar más con plugins.
También se pueden encadenar distintos pasos por ejemplo ejecutar un script
de shell y luego uno de windows.

Por último decidir que hacemos despues, si notificar usuarios, guardar logs,
imprimir resultados, hacer commit, publicar cobertura etc.

Tras crear la tarea tendrás acceso al panel de control de la tarea, desde aquí
podrás seleccionar si lanzarla manualmente, ver los logs, las builds anteriores,
volver a configurar la tarea, etc. En mi caso sale el icono del último build en
rojo indicando que algo ha fallado:

Common questions

Con tecnología de IA

Jenkins supports extensibility through a vast array of plugins that users can install to tailor Jenkins functionalities to their needs. These plugins can be installed during the initial setup or added later from the control panel. For instance, the 'build-name-setter' plugin allows naming builds for easier identification, while 'rebuilder' can rerun previous builds with the same parameters. For build tools, users might choose plugins for NodeJS instead of Gradle, depending on their project requirements. Additionally, SCM plugins like Github can be selected to integrate repositories smoothly .

Jenkins employs a flexible scheduling mechanism that allows users to automate task execution based on time intervals, similar to cron jobs. Users can specify schedules using syntax similar to 'H/15**', which executes the task every 15 minutes if changes are detected. To assist with scheduling, tools like `crontab.guru` are available to generate and understand these expressions, aiding users in programming tasks efficiently and ensuring they run at desired intervals .

Jenkins supports various build tools such as NodeJS and Gradle via specific plugins, allowing users to choose which tools to integrate based on project requirements. It adapts to different environment configurations using environment variables for specifying PATHs and installing required dependencies. Best practices include clearly defining build environments for consistency, minimizing manual configuration through templates or scripts, and validating plugin updates to prevent inconsistencies. Utilizing Docker for environment isolation further enhances reproducibility and manageability of builds across different environments .

A Jenkins build highlighted in red indicates failure. Potential causes include configuration errors, such as incorrect paths or missing dependencies, or code issues that fail tests. To troubleshoot, review build logs for error messages and ensure configurations are correctly set. Check the paths specified for tools like NodeJS, verify repository settings, and consider rerunning the build with different parameters using the 'rebuilder' plugin if installed. It may also be useful to examine any new changes in the source code that could have caused the issue .

Jenkins enhances collaboration and transparency by providing clear task automation and execution logs. Configuring Jenkins to notify team members about build statuses or issues (e.g., via email or chat integrations) ensures everyone is informed about the development process. Using plugins to publish build results or maintain a history of builds provides transparency into project state and progress. Additionally, integrating source code management systems like GitHub allows seamless version control and feedback loops for collaborative development workflows .

When configuring Jenkins, the process starts with downloading the appropriate version for the system. Jenkins can be installed directly on a server or within a Docker container for isolated environments. For Docker, Jenkins can be managed easily for local testing and management. The configuration requires setting up an admin password, either through the installation wizard or manually, depending on the environment, such as Docker. Additionally, users must also decide whether to install recommended plugins automatically or select them manually based on their specific use cases .

When selecting plugins during Jenkins installation, consider the specific requirements of your projects—are there specific functions like SCM integration, test coverage, or particular build tools you need? Initially, Jenkins recommends a set of plugins, but users may manually select those that fit their needs, such as 'Github' for source code management. Periodically reviewing available plugins and updates ensures that installations remain optimal and integrations are aligned with project evolution. Plugins can be added or removed later through the control panel, ensuring adaptability without compromising existing configurations .

The Jenkins LTS (Long-Term Support) version is released annually and is designed to be as stable as possible, making it advantageous for users who prioritize stability. In contrast, the Weekly version is continuously updated with the latest features and improvements, catering to users who want to utilize the newest functionalities, though it may include bugs. Therefore, the choice between LTS and Weekly depends on whether stability or cutting-edge features are more important to the user .

In Jenkins, tasks represent jobs or sets of instructions that can be programmed to occur automatically based on specific triggers. Tasks can be configured when creating a new project, allowing users to set basic parameters such as project name, description, and execution conditions like discarding old builds. Configuration also includes identifying the source code repository (e.g., Git), scheduling builds (e.g., every 15 minutes), and choosing what to execute before and after a build. Jenkins can run various execution environments, setting PATHs, or utilizing plugins for added functionality like notifying users or publishing results post-build .

Jenkins seamlessly integrates with Git to execute tasks on specific Git actions, such as launching a pull request, pushing to a particular branch, or creating a branch. This integration allows Jenkins to automate build processes and deployment workflows which are triggered by changes in the Git repository. Additionally, Jenkins offers the flexibility of installing numerous plugins to extend its capabilities further, allowing users to customize the integration to meet their specific workflow needs .

También podría gustarte