Introducción a Jenkins

2/15
Recursos

Jenkins es open source y probablemente el software de automatización más usado de todos, escrito en Java y corre en JVM. Es muy conveniente al ser una herramienta extensible al tener un ecosistema de plugins que te permiten extenderlo, puedes escribir tus propios plugins con Java, pero ya la comunidad ha desarrollado un sinfín de ellos.

También nos permite escalar de manera horizontal y verticalmente, puede correr un sin número de trabajos concurrentemente en una sola máquina y si esa máquina no da abasto se le puede dar más recursos a Jenkins. O una máquina no es suficiente entonces Jenkins nos permite escalar horizontalmente con ““slaves”” y controlar varios nodos para que trabajen por él.

Jenkins siempre esta siendo innovado y teniendo actualizaciones de seguridad, esto es importante porque es el target más grande de seguridad de una empresa porque lo tiene todo.

Algo que Jenkins ha trabajado mucho en los últimos años es que puedes escribir tus ““jobs”” o unidades de trabajo en código. Nosotros queremos que nuestra automatización también sea programática, no solo los comando a ejecutar sino poder migrar nuestro trabajo a un nuevo Jenkins de manera reproducible. Han creado Pipelines as code

Aportes 44

Preguntas 6

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

A tener en cuenta:

Jenkins usa Java 8 por lo menos al día en que este comentario se publica, por esa razón deben asegurarse de instalarlo, no sea que les genere errores.

quienes tenían una versión más reciente y manejan ubuntu por ejemplo, luego de instalar java 8 pueden ejecutar el siguiente comando para seleccionar la versión de java que se aplicará por defecto.

sudo update-alternatives --config java

Caracteristicas

  • Es Open Source
  • Escrito en java sobre JVM
  • Mayormente se corre en Linux
  • Es extensible
  • Se puede escribir plugins en java
  • La comunidad aporta tanto escribiendo un sin fin de Plugins.
  • Jenkins es amigable y flexible por la cantidad de comunidad que tiene.
  • Compañias enormes tiene un solo jenkins
  • Jenkins puede crecer horizontalmente añadiendo mas hadware ya que soporta esto con el termino slaves.
  • Jenkins es un servicio de automatización.
  • CircleCI realiza lo mismo que jenkins.
  • Actualmente se puede escribir tu job con codigo y no solo con la interfaz.

hola a todos, le envió el enlace donde el señor yamil tiene todos los script para el curso, lo coloco porque es necesario.
https://github.com/elbuo8/platzi-scripts

Escalabilidad Vertical -> Relacionado con el hardware del servidor, lo conseguimos aumentando los recursos del servidor (procesamiento, memoria, almacenamiento).
Escalabilidad Horizontal -> Agregar nodos adicionales para adaptarse a la carga de trabajo. Si la aplicación o el sistema están llegando a su punto crítico, entonces se agregan nodos adicionales y se divide la carga entre los distintos nodos. En Jenkis, lo podemos conseguir mediante “Slaves”.

En el 2021 existen mas software de automatizacion, las alternativas mas directas son:

  • GitLab CI
  • GitHub Actions
    Igual de potentes, y la recomendacion es aprender mas de una.

¿Puedo integrar Jenkins con Gitlab?

Java… 😦

Recordar que Jenkins se usa de forma interna, no esta expuesto de forma publica

Jenkins es open source y probablemente el software de automatización más usado de todos, escrito en Java y corre en JVM. Jenkins es muy conveniente. Ya que Jenkins es una herramienta extensible; esto quiere decir que tiene un ecosistema de plugins que te permiten extenderlo. Si quieres, puedes escribir tus propios plugins con Java, pero ya la comunidad ha desarrollado un sinfín de ellos💪🏻

Nos puedes comentar algo sobre jenkins en docker como comentario.

Install Jenkins in Docker

docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11

In your browser type:

http://127.0.0.1:8080/

What is my password?

docker container ls 
docker exec -it <conteiner-name> /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

diciembre 2020

El concepto de “Honey Pots” es importante traerlo consideración, esto se refiere a que al centralizar nuestro código y nuestra seguridad en Jenkins entre otras cosas, lo hace un objetivo perfecto para los hackers.

Por ello el foco en las actualizaciones o parchados de seguridad.

Super bien… y el profe es super simpatico XD interesante el curso…continuemos 😎

Un ejemplo de Jenkins as a service:
https://servanamanaged.com/services/managed-jenkins/

pipeline as code

escalar horizontal y vertical, muy buena capacidad de la herramienta.

Muy buen intro para empezar a conocer de herramientas de automatización!

Jenkins está escrito en Java , es portable y cuenta con un ecosistema de plugins.

A aprender ha automatizar con Jenkins

Jenkins

Jenkins se utiliza para Continuos Delivery, haciendo más rapido el Deploy de herramientas y ambientes para producción, pruebas o desarrollo.

Excelente Jenkins para automatización !!!

También pueden instalar Jenkins mediante Docker, para no instalar todo directamente en la máquina y que sea más portable entre computadores con sistemas operativos distintos

Jenkins es Open Source y el software de automatización más grande de todos, está escrito en Java, mayormente se corre en Linux, aunque también puede correr en Windows, etc.

<h5>Propiedades</h5>
  • Es sumamente extensible por medio de plugins
  • Es portable
  • Mucha comunidad que lo hace friendly
  • Puede escalar vertical y horizontalmente
  • Puede corre un sin número de tareas en una sola máquina, si esa máquina no da abasto la puedo hacer más grande y escalarla verticalmente, pero en algún momento, una máquina no será suficiente y tendré que escalar horizontalmente con “slaves”, lo que hace es que un “maestro” controle varios esclavos y que ellos trabajen por el Jenkins principal
  • Releases de seguridad constantes dado que puede tener accesos a las llaves de seguridad Cloud, por ende, se intenta correr siempre internamente
  • Es posible escribir los “jobs” que son la unidad de trabajo de Jenkins en forma de código lo que permite que no se pierda el trabajo por alguna razón (es reproducible) Pipeline as Code

Jenkins permite escalar vertical y horizontalmente para la ejecución de tareas automatizadas

  • Extensible

  • Escalable de manera vertical y horizontalmente
    Puede correr un sin numero de trabajos concurrentemente en una sola máquina, lo que lo hace escalable verticalmente.
    Si esta máquina no da a basto, la puedo hacer mas grande y le doy más recursos a Jenkins, eventualmente cuanto tienes un servicio recibiendo tráfico, una máquina no va a ser suficiente y tienes que escalar horizontalmente, Jenkins te permite hacer eso con Slaves (esclavos), esto le permite a un Jenkins controlar a otros nodos y que trabajen por el.

  • Innovador
    Siempre tiene nuevos realeases de seguridad.

  • Usualmente es corrido en los servidores de la compañía que lo está usando.

  • Jenkins permite escribir los Jobs en código.

Jenkins antes hudson, hace algunos ayeres integré Jenkins + Sonar + Svn + Ant. en el 2022 volvemos a la carga ahora con git y maven.

Lo he usado y es algo que te ahorra mucho trabajo, incluso para la documentación

Jenkins es una herramienta increíble, open source y escrita en java, es portadle, multiplataforma y sumamente extensible, puedes crear tus pluggins o usar los miles de plugins disponibles, Jenkins permite escalar de manera vertical y horizontal, Jenkins además tiene parches de seguridad, puedes escribir tus jobs en código.

software de automatizacion mas usado hecho en java corre en todos los SO.
Tiene multiples plugins. Tiene una gran comunidad
Escala vertucal y horizontalmente
Se pueden escribir jobs propioas o sea unidades de trabajo en codig

Jenkins aparte de ser una herramienta de automatización, se usa mucho en temas de integración, despliegue y entrega continua, Jenkins por otra parte es multiplataforma, es decir, corre sobre cualquier sistema operativo (Windows, Linux, Unix), además de que Jenkins cuenta con un sin número de plugins para cualquier tarea que necesites realizar en él. Open source, ¡INCREIBLE!

Vamos con toda aprender de Jenkins

Jenkins se convierte en honey pots (patade conejo) contiene en un solo lugar todo lo importante

Instalando Jenkins en Docker

Jenkins puede escalar tanto vertical como horizontalmente :exploding_head:

interesante de aprender el concepto de pipeline as a code

A conoce una nueva herramienta

Excelente la Intro !

Vamos por ello!!

Excelente…!

Me encanta el buen humor del profesor en el curso. Lo hace más ameno.

leeeeeeeeroooooooooooy jenkins

Genial, continuemos

Cuando de hace Continous methodology CI/CD toda herramienta en el chain es un vector de ataque, en especial el canal de comunicacion que esas herramientas usan.
Lo bueno de usar herramientas como Jenkins es que tienes toda la integracion en un solo lugar, lo que complica mas el ataque.