jenkins - Empezando con Jenkins

jenkins - Empezando con Jenkins

15 Jul 2020 in
Back to top

1) Observaciones

es una herramienta de integración continua de código abierto escrita en Java. El proyecto fue separado dedespués de una disputa con.

Jenkins da servicios de integración continua para el desarrollo de software. Es un sistema basado en servidor que se ejecuta en un contenedor de servlets como Apache Tomcat. Es compatible con herramientas SCM, incluidas AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase y RTC, y puede ejecutar proyectos basados ​​en Apache Ant y Apache Maven, así como scripts de shell arbitrarios y comandos por lotes de Windows. El principal desarrollador de Jenkins es. Lanzado bajo la licencia MIT, Jenkins es software libre.

Las compilaciones pueden iniciarse por diversos medios, incluyendo el desencadenamiento por cometer en un sistema de control de versiones, programando a través de un mecanismo afín a cron, construyendo cuando otras compilaciones se han completado y solicitando una URL de compilación específica.

Back to top

2) Versiones

Jenkins es (y prosigue siendo) un sistema de integración continua (CI) que deja la automatización del proceso de desarrollo de software, como el código de construcción en los activadores de confirmación de SCM. No obstante, la creciente necesidad de entrega continua (CD) ha pedido que Jenkins evolucione para un sistema CI puro a una mezcla de CI y CD. Además, la necesidad de no materializar los trabajos de Jenkins ha ido medrando y los trabajos clásicos de Jenkins 1.x Freestyle/Maven jobscomenzaron a ser demasiado limitados para determinadas necesidades.

Bajo Jenkins, el complemento 1.xa llamado workflow-pluginapareció para permitir a los desarrolladores escribir código para describir trabajos. Jenkins dos va más allá al agregar soporte incorporado para Pipeline as Code. El primordial beneficio es que las tuberías, siendo ficheros de scripts Groovy, pueden ser más complejas que los trabajos de estilo libre configurados por UI y pueden ser controladas por versión. Jenkins 2 también añade una nueva interfaz que facilita la visualización de diferentes "etapas" definidas en una tubería y prosigue el progreso de toda la tubería, como a continuación:

Para conseguir una descripción completa de lo que Jenkins dos añade a Jenkins, consulte la.

Además, elestá libre en el sitio de Jenkins.

Back to top

3) Configurar un proyecto en Jenkins.

Aquí revisaremos la última copia del código de nuestro proyecto, ejecutaremos las pruebas y haremos la aplicación en vivo. Para lograrlo, prosiga los pasos a continuación:

  1. Abre Jenkins en el navegador.
  2. Haga click en el enlace Nuevo trabajo .
  3. Ingrese el nombre del proyecto y escoja el link Crear un proyecto de software de estilo libre .
  4. Haga clic en el botón Aceptar .
  5. En la sección Administración del código fuente , elija la casilla de radio junto a la herramienta de administración del código fuente. En mi caso he escogido Git .

Proporcionar url de git repo como git://github.com/example/example.git

  1. Debajo de los desencadenantes de compilación , elija el cuadro de radio junto a Encuesta SCM .
  2. Proporcionar *****en el cuadro de horario . Este cuadro es responsable de activar la compilación a intervalos regulares. *****especifica que, el trabajo se activará cada minuto para los cambios en git repo.
  3. En la sección Generar , haga clic en el botón Agregar paso de compilación y luego escoja la opción con la que desea compendiar el proyecto. He escogido Ejecutar Shell . En el cuadro de comandos, escriba el comando para compilar, ejecute las pruebas y desplácelo a prod.
  4. Desplácese cara abajo y Guardar .

Así que arriba, hemos configurado un proyecto básico en Jenkins que activará la compilación a cada minuto para el cambio en su repositorio git. Nota: para configurar el proyecto complejo, posiblemente deba instalar ciertos complementos en Jenkins.

Back to top

4) Configure un proyecto de compilación simple con Jenkins dos pipeline script

Aquí crearemos un canal de Groovy en Jenkins dos para realizar los próximos pasos:

  • Verifique cada cinco minutos si se ha mandado un nuevo código a nuestro proyecto.
  • Código de salida de repo SCM
  • Maven compila nuestro código de Java.
  • Ejecuta nuestras pruebas de integración y publica los resultados.

Aquí están los pasos que haremos:

  1. Asegúrese de que tengamos por lo menos una versión dos.0 de Jenkins (puede verificarlo en el rincón inferior derecha de su página) como:

  2. En la página de comienzo de Jenkins, haga clic en Nuevo artículo

  3. Ingrese el nombre del proyecto y escoja Pipeline

  4. En la sección Disparadores de compilación, seleccione la opción Poll SCMy agregue el próximo horario CRON de 5 minutos: */5 * * * *

  5. En la sección Pipeline, elija Pipeline Scripto Pipeline Script desde SCM

  6. Si seleccionó Pipeline Script de SCMen el paso anterior, ahora precisa especificar su URL de repositorio de SCM (Git, Mercurial, Subversion) en la URL del repositorio, como /example/example.git. También debe precisar la rutade la secuenciade comandosde su fichero de secuencias de comandos Groovy en su repositorio example.git, por servirnos de un ejemplo, pipelines/example.groovy

  7. Copie el siguiente código Groovy, así sea de forma directa en la ventana del script Groovy si previamente hizo clic en Pipeline Scripto en su example.groovysi eligió Pipeline Script de SCM

Asegúrese de que tengamos cuando menos una versión dos.0 de Jenkins (puede verificarlo en el rincón inferior derecha de su página) como:

En la página de inicio de Jenkins, haga click en Nuevo artículo

Ingrese el nombre del proyecto y seleccione Pipeline

En la sección Disparadores de compilación, elija la opción Poll SCMy añada el siguiente horario CRON de 5 minutos: */5 * * * *

En la sección Pipeline, escoja Pipeline Scripto Pipeline Script desde SCM

Si seleccionó Pipeline Script de SCMen el paso precedente, ahora necesita precisar su URL de repositorio de SCM (Git, Mercurial, Subversion) en la URL del repositorio, como /example/example.git. También debe especificar la rutade la secuenciade comandosde su archivo de secuencias de comandos Groovy en su repositorio example.git, por servirnos de un ejemplo, pipelines/example.groovy

Copie el próximo código Groovy, así sea de forma directa en la ventana del script Groovy si previamente hizo click en Pipeline Scripto en su example.groovysi eligió Pipeline Script de SCM

Aquí tienes, ahora deberías poder compilar y probar tu primer proyecto de Jenkins utilizando la canalización Jenkins dos Groovy.

Back to top

5) Instalación

Para sistemas basados ​​en apt-get como Ubuntu

Agrega el repositorio de Jenkins:

wget -q -O bien - -ci.org/debian/ Jenkins-ci.org.key | sudo apt-key

Actualice las fuentes e instale Jenkins:

sudo apt-get update

sudo apt-get install jenkins

Ahora se crea un usuario jenkins y, de forma predeterminada, Jenkins se ejecutará en el puerto 8080.

Para distribuciones basadas en RPM como Red Hat Enterprise Linux (RHEL), CentOS, Fedora o Scientific Linux

Para descargar el archivo de repositorio para la versión estable:

sudo wget -O /etc/yum.repos.d/jenkins.repo -ci.org/redhat-stable/jenkins.repo

O si deseas los últimos lanzamientos semanales:

sudo wget -O /etc/yum.repos.d/jenkins.repo -ci.org/redhat/jenkins.repo

Importar la clave pública:

sudo rpm --import -ci.org/redhat/jenkins-ci.org.key

Instale Jenkins usando yum:

sudo yum install jenkins

Jenkins requiere java para ejecutarse, para instalarlo:

sudo yum install java

Para empezar / detener / reiniciar el uso de jenkins:

sudo service jenkins start/stop/restart

Back to top

6) Actualización de jenkins (instalaciones RPM)

  1. Directorio de inicio de jenkins de copia de seguridad
  2. Reemplace jenkins.war en la siguiente ubicación con un nuevo archivo WAR. / usr / lib / jenkins / jenkins.war`
  3. Reiniciar Jenkins
  4. Verifique los complementos fijados y, si es preciso, descuelgue
  5. Reload Configuration from Disk

nota: para las actualizaciones de Jenkins dos para el servidor de aplicaciones jetty agrupadas, desactive el puerto AJP (configure JENKINS_AJP_PORT="-1") en /etc/sysconfig/jenkins.

Back to top

7) Instalar el complemento desde una fuente externa

El cliente JAR debe ser el archivo CLI JAR, no el mismo JAR / WAR que ejecuta el propio Jenkins. Las ID únicas se pueden encontrar en una página respectiva de los complementos en la wiki de la CLI de Jenkins (

Back to top

8) Introducción completa de Jenkins en un solo lugar.

1. Jenkins:

Jenkins es una herramienta de integración continua de código abierto escrita en Java. El proyecto fue separado de Hudson después de una disputa con Oracle.

En pocas palabras, Jenkins es el principal servidor de automatización de código abierto. Construido con Java, proporciona cientos y cientos de complementos para permitir la creación, prueba, implementación y automatización de prácticamente cualquier proyecto.

Características:Jenkins ofrece las siguientes funciones primordiales listas para utilizar, y muchas más se pueden agregar a través de complementos:

Instalación sencilla: simplemente ejecute java -jar jenkins.war, desplácelo en un contenedor de servlets. Sin instalación auxiliar, sin base de datos. ¿Prefieres un instalador o bien paquete nativo? Tenemos esos también. Configuración sencilla: Jenkins se puede configurar totalmente desde su interfaz gráfica de usuario amigable con extensas verificaciones de fallos sobre la marcha y ayuda en línea. Ecosistema de complementos enriquecidos: Jenkins se integra con prácticamente todos y cada uno de los SCM o bien herramientas de construcción existentes. Ver complementos. Extensibilidad: la mayoría de las unas partes de Jenkins se pueden ampliar y alterar, y es fácil crear nuevos complementos de Jenkins. Esto le deja personalizar Jenkins a sus necesidades. Colecciones distribuidas: Jenkins puede repartir cargas de compilación / prueba a múltiples computadoras con diferentes sistemas operativos. ¿Construyendo software para OS X, Linux y Windows? No hay inconveniente.

Instalación:

Ref:

Ref:

Ref:

Directorio JENKINS_HOMEJenkins necesita algo de espacio en el disco para realizar compilaciones y sostener ficheros. Puede contrastar esta ubicación desde la pantalla de configuración de Jenkins. De forma predeterminada, se establece en ~ / .jenkins, mas puede cambiarlo de una de las próximas maneras: Establezca la variable de ambiente "JENKINS_HOME" en el nuevo directorio de inicio ya antes de comenzar el contenedor de servlet. Establezca la propiedad del sistema "JENKINS_HOME" en el contenedor de servlets. Establezca la entrada de entorno JNDI "JENKINS_HOME" en el nuevo directorio. Consulte la colección de documentación específica del contenedor para obtener más información sobre cómo hacer esto para su contenedor. También puedes mudar esta ubicación después de haber usado Jenkins por un tiempo. Para hacer esto, detenga totalmente a Jenkins, mueva los contenidos del viejo JENKINS_HOME al nuevo hogar, establezca el nuevo JENKINS_HOME y reinicie Jenkins. JENKINS_HOME tiene una estructura de directorio bastante obvia que se semeja a la siguiente:

JENKINS_HOME

Jenkins Build Jobs:

Crear un nuevo trabajo de construcción en Jenkins es simple: sencillamente haga clic en el factor del menú "Nuevo trabajo" en el panel de Jenkins. Jenkins acepta varios tipos diferentes de trabajos de creación, que se le presentan cuando elige crear un nuevo trabajo

Proyecto de software freestyle

Los trabajos de compilación de estilo libre son trabajos de compilación de propósito general, que dan una flexibilidad máxima.

Proyecto MavenEl " proyectomaven2 / 3" es un trabajo de construcción en especial adaptado a los proyectos Maven. Jenkins comprende los ficheros de pom Maven y las estructuras del proyecto, y puede usar la información conseguida del fichero pom para reducir el trabajo que necesita hacer para configurar su proyecto.

Flujo de trabajo

Organiza actividades de larga duración que pueden abarcar varios esclavos de compilación. Adecuado para edificar tuberías y / o bien organizar actividades complejas que no encajan fácilmente en el género de trabajo de estilo libre.

Supervisar un trabajo externo El trabajo de compilación “Supervisar un trabajo externo” le permite observar los procesos no interactivos, como los trabajos cron.

Trabajo de configuración múltiple El "proyecto de configuración múltiple" (también conocido como "proyecto de matriz") le deja ejecutar el mismo trabajo de creación en muchas configuraciones diferentes. Esta potente función puede ser útil para probar una aplicación en muchos entornos diferentes, con diferentes bases de datos o bien incluso en diferentes máquinas de compilación.

1. Edificando un proyecto de software (estilo libre)

Jenkins se puede emplear para realizar el trabajo típico del servidor de compilación, como hacer colecciones continuas / oficiales / nocturnas, ejecutar pruebas o bien efectuar algunas labores repetitivas por lotes. Esto lleva por nombre "proyecto de software de estilo libre" en Jenkins. Configuración del proyecto Vaya a la página primordial de Jenkins, escoja "Nuevo trabajo", luego escoja "Crear un proyecto de software de estilo libre". Este género de trabajo consta de los siguientes elementos: SCM opcional, como CVS o Subversion, donde radica su código fuente. Desencadenadores opcionales para controlar cuándo Jenkins realizará compilaciones. algún género de script de compilación que efectúa la compilación (ant, maven, shell script, archivo por lotes, etcétera) donde el trabajo real ocurre pasos opcionales para compendiar información de la compilación, como archivar los artefactos y / o grabar javadoc y probar resultados pasos opcionales para avisar a otras personas / sistemas con el resultado de la compilación, como mandar correos electrónicos, mensajes instantáneos, actualizar el rastreador de problemas, etc.

Compilaciones para proyectos de control que no son de origenA veces es preciso compilar un proyecto simplemente con fines de demostración o el acceso a un repositorio SVN / CVS no está disponible. Al elegir configurar el proyecto como "Ninguno" en "Administración del código fuente", tendrá que:

  1. Genere el proyecto al menos una vez (fallará), mas Jenkins creará la estructura jenkins / workspace / PROJECTNAME /
  2. Copie los ficheros del proyecto a jenkins / workspace / PROJECTNAME /
  3. Construir nuevamente y configurar apropiadamente.

Jenkins establece variables de entorno

Cuando se ejecuta un trabajo de Jenkins, establece algunas variables de entorno que puede utilizar en su script de shell, comando por lotes, script de Ant o POM de Maven. Vea la lista de variables haciendo click en ENVIRONMENT_VARIABLE

Configurando compilaciones automáticas

Las compilaciones en Jenkins se pueden activar periódicamente (según una programación, detallada en la configuración), o bien cuando se han detectado cambios en la fuente del proyecto, o se pueden activar automáticamente solicitando la URL:

Esto le permite enganchar las construcciones de Jenkins en una variedad de configuraciones. Para conseguir más información (particularmente, hacer esto con la seguridad habilitada), consulte API de acceso recóndito.

Construye por fuente de cambios

Puede hacer que Jenkins evalúe su sistema de control de revisión para advertir cambios. Puede especificar con qué frecuencia Jenkins sondea su sistema de control de revisión usando exactamente la misma sintaxis que crontab en Unix / Linux. No obstante, si su período de sondeo es más corto de lo preciso para sondear su sistema de control de revisión, puede terminar con múltiples colecciones para cada cambio. Debe ajustar su período de sondeo para que sea más largo que el tiempo necesario para sondear su sistema de control de revisión o utilizar un activador siguiente a la confirmación. Puede examinar el registro de sondeo de cada compilación para ver cuánto tiempo llevó encuestar su sistema.

Alternativamente, en lugar de sondear en un intervalo fijo, puede emplear un activador de URL (descrito previamente), pero con / polling en lugar de / build al final de la URL. Esto causa que Jenkins encueste al SCM en busca de cambios en lugar de construirlo de manera inmediata. Esto evita que Jenkins ejecute una compilación sin cambios relevantes para las confirmaciones que afectan a los módulos o ramas que no están relacionados con el trabajo. Cuando se utiliza / sondeo, el trabajo debe configurarse para sondeo, pero la programación puede estar vacía.

Construye por correo electrónico (sendmail)

Si tiene la cuenta raíz de su sistema y está utilizando sendmail, encontré la manera más fácil de alterar / etc / aliases y agregar la próxima entrada: jenkins-foo: "| / bin / wget -o bien / dev / null

"

y entonces ejecute el comando "newaliases" para informar a sendmail sobre el cambio. Cada vez que alguien envíe un correo electrónico a "jenkins-foo @ yoursystem", esto activará una nueva compilación. Vea esto para más detalles sobre la configuración de sendmail. Edifica por correo electrónico (qmail) Con qmail, puede escribir /var/qmail/alias/.qmail-jenkins de la próxima manera: | / bin / wget -o / dev / null

2. Edificando un proyecto Maven

Jenkins proporciona un género de trabajo dedicado a Maven 2/3. Este género de trabajo integra a Jenkins profundamente con Maven 2/3 y proporciona los siguientes beneficios en comparación con el proyecto de software de estilo libre más genérico.

Jenkins examina los POM de Maven para obtener gran parte de la información precisa para hacer su trabajo. Como resultado, la cantidad de configuración se reduce drásticamente.

Jenkins escucha la ejecución de Maven y descubre qué se debe hacer cuando está solo. Por poner un ejemplo, registrará automáticamente el informe JUnit cuando Maven ejecute la fase de prueba. O bien si ejecuta el propósito javadoc, Jenkins grabará automáticamente javadoc.

Jenkins crea automáticamente dependencias de proyecto entre proyectos que declaran dependencias de SNAPSHOT entre sí. Vea abajo. Por consiguiente, en su mayoría solo necesita configurar la información de SCM y los objetivos que le gustaría ejecutar, y Jenkins descubrirá todo lo demás.

Este género de proyecto puede proporcionar automáticamente las siguientes características:

Archivar instrumentos producidos por una construcción.

Publicar resultados de prueba

Desencadenar trabajos para proyectos que son dependencias posteriores

Despliega tus instrumentos en un repositorio de Maven

Resultados de la prueba de rotura por módulo

Opcionalmente, reconstruya solo los módulos cambiados, acelerando sus construcciones

Encadenamiento automático desde dependencias de módulos.

Jenkins lee las dependencias de su proyecto desde su POM, y si también se fundamentan en Jenkins, los desencadenantes se configuran de tal modo que una nueva compilación en una de esas dependencias iniciará automáticamente una nueva compilación de su proyecto. Jenkins entiende todo género de dependencias en POM. A saber, padre POM

Este proceso tiene en cuenta las versiones, con lo que puede tener múltiples versiones / ramas de su proyecto en el mismo Jenkins y determinará adecuadamente las dependencias. Tenga en cuentaque los rangos de versiones de dependencia no son compatibles, consulte [para conocer el motivo.

Esta función se puede deshabilitar a petición - vea la opción de configuración Construir cada vez que se produzca una dependencia SNAPSHOT

Instalación:

1. entra en Manage Jenkins >> configura el sistema

  1. en la pestaña maven "Haga clic en la instalación maven ......

Puede hacer que Jenkins instale automáticamente una versión específica de Maven, o proporcionar una senda a una instalación local de Maven (puede configurar tantas versiones de Maven para sus proyectos de compilación como desee, y usar diferentes versiones de Maven para diferentes proyectos. Si marca la casilla Instalar automáticamente, Jenkins descargará y también instalará la versión solicitada de Maven por usted y la instalará en el directorio de herramientas en el directorio de comienzo de Jenkins.

Cómo usarlo

Primero, debe configurar una instalación de Maven (este paso puede suprimirse si está usando DEV @ cloud). Esto se puede hacer yendo a la pantalla de configuración del sistema (Administrar Jenkins-> Configurar sistema). En la sección "Instalaciones de Maven", 1) haga clic en el botón Añadir, 2) asígnele un nombre como "Maven 3.0.3" y después tres) escoja la versión del menú desplegable.

Ahora, Jenkins instalará automáticamente esta versión toda vez que sea precisa (por poner un ejemplo, en cualquier nueva máquina de compilación) descargándola de Apache y descomprimiéndola.

Crear un nuevo trabajo de Maven:

  1. Al hacer clic en "Nuevo trabajo / Nuevo elemento" en la mano izquierda
  2. Dale un nombre
  3. Elija el "Construir un proyecto de Maven 2/3"
  4. Salva tu trabajo

Ahora necesitas configurar tu trabajo.

  1. Elija el SCM que desea emplear (ej. Usar git)

  2. elegir objetivo de Maven para llamar

  3. Añadir URL y credencial del repositorio.

  4. comprobar usuario privado maven repo:

Elija el SCM que quiere utilizar (ej. Emplear git)

elegir objetivo de Maven para llamar

Añadir URL y credencial del repositorio.

comprobar usuario privado maven repo:

También puede definir la senda de acceso para exactamente el mismo.

5. Proyecto de construcción

Cree su proyecto haciendo clic en recopilar ahora y haga clic en la barra de progreso en la parte izquierda "Crear estado del ejecutor" para poder ver cómo jenkins instala Maven, verifica su proyecto y edifica utilizando maven.

Explotación florestal:

Consola de Script:

Jenkins da una consola de scripts que le ofrece acceso a todas y cada una de las funciones internas de Jenkins. Estos scripts están escritos en Groovy y encontrará ciertos ejemplos de ellos en esta.

Back to top

9) Mueve a Jenkins de una PC a otra

Esto me sirvió para pasar de Ubuntu 12.04 (versión Jenkins 1.628) a Ubuntu dieciseis y cuatro (versión Jenkins 1.651.2). Primero.

Puede que no necesites esto, mas tuve que

  • Manage Jenkinsy Reload Configuration from Disk.
  • Desconecta y vuelve a conectar todos los esclavos.
  • Verifique que en Configure System > Jenkins Location, la Jenkins URLesté asignada correctamente al nuevo servidor de Jenkins.
Back to top

10) Configurando el Proxy Nginx

De forma nativa, Jenkins se ejecuta en el puerto ocho mil ochenta. Podemos establecer un proxy desde el puerto ochenta -> ocho mil ochenta a fin de que se pueda acceder a Jenkins a través de:

en lugar de la predeterminada

Comience por instalar Nginx.

sudo aptitude -y install nginx

Eliminar la configuración predeterminada para Nginx

cd /etc/nginx/sites-available

sudo rm default ../sites-enabled/default

Crear el nuevo archivo de configuración.

sudo touch jenkins

Copie el siguiente código en el fichero jenkinsrecién creado.

Cree un enlace simbólico entre sitios disponibles y sitios habilitados:

sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/

Reinicie el servicio de proxy Nginx

sudo service nginx restart

Jenkins ahora será alcanzable desde el puerto ochenta.

Back to top
Share icon

ESTOS EXCLUSIVOS INFORMES GRATUITO REVELAN

7 SECRETOS DE EXPERTOS SEO QUE TE LLEVÁN AL 1#
7 SECRETOS DE EXPERTOS SEO QUE TE LLEVÁN AL 1# EN GOOGLE PARA GANAR 10.000s DE TRÁFICO DE CALIDAD GRATUITO - EN SÓLO 2 MESES
 

Los 7 pasos más poderosos para disparar tu ranking orgánico para ALCANZAR Y MANTENER un impresionante tráfico orgánico es TUYO.

Consigue gratis lo que el 1% de los expertos en SEO venden por miles de euros... y el otro 99% ni siquiera sabe que existe.


OBTEN MI INFORME GRATUITO
5 errores que debes evitar en tu sitio web de Drupal
Ebook - 5 errores que debes evitar en tu sitio web de Drupal (¡podrían costarte miles de euros!)
 

Este Ebook cubre 5 terribles errores que probablemente estés cometiendo ahora mismo con tu sitio web de Drupal.

¡Nº3 TE SORPRENDERÁ! Esta lectura de 10 minutos te ahorrará miles de euros.



OBTEN MI INFORME GRATUITO