CursosEmpresasBlogLiveConfPrecios

Cadenas de Jobs

Clase 9 de 15 • Curso Básico de Jenkins

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Introducción a Automatización

    Introducción a Automatización

    02:12
Jenkins Core
  • 2
    Introducción a Jenkins

    Introducción a Jenkins

    04:50
  • 3
    Instalación y Configuración Básica de Jenkins

    Instalación y Configuración Básica de Jenkins

    08:54
  • 4
    Manejo Básico de Usuarios

    Manejo Básico de Usuarios

    02:58
Jobs
  • 5
    ¿Qué es un Job?

    ¿Qué es un Job?

    05:05
  • 6
    Configuración de un Job

    Configuración de un Job

    09:25
  • 7
    ¿Cómo Jenkins interactúa con su máquina local?

    ¿Cómo Jenkins interactúa con su máquina local?

    05:01
Plugins
  • 8
    Jenkins y su ecosistema de Plugins

    Jenkins y su ecosistema de Plugins

    06:28
  • 9
    Cadenas de Jobs

    Cadenas de Jobs

    06:16
  • 10
    Connectándonos a GitHub

    Connectándonos a GitHub

    10:00
Pipelines
  • 11
    ¿Qué es un 'Pipeline'?

    ¿Qué es un 'Pipeline'?

    07:20
  • 12
    ¿Cómo puedo acelerar mi development de Pipelines?

    ¿Cómo puedo acelerar mi development de Pipelines?

    04:23
Slave
  • 13
    Introducción a Slaves

    Introducción a Slaves

    02:04
  • 14
    Conectado un Slave

    Conectado un Slave

    11:39
Cierre
  • 15
    Cierre del curso, introducción a DevOps

    Cierre del curso, introducción a DevOps

    01:38
    Felipe Jurado Murillo

    Felipe Jurado Murillo

    student•
    hace 6 años

    Primero instalamos el plugin Parameterized Trigger, igual cómo instalamos anteriormente y reiniciamos.

    Luego vamos a crear 2 jobs nuevos: watchers: En este job, vamos a configure y vamos a “Build after other projects are built” y escribimos y escribimos hello-platzi, sí hello-platzi es successful, quiero que se ejecute watchers. Y en la parte de executed shell, escribimos : echo “Running after hello-platzi success” y guardamos. parameterized: Acepta parámetros cuando lo llamo. Marcamos la opción “ This project is parameterized” y en el name escribimos ROOT_ID. Y en el execute shell: echo “calle with $ROOT_ID” y guardamos.

    Y en hello-platzi, en Downstream project, y estos se añaden cuando jenkins se da cuenta que su job tiene una dependencia con otro. Vamos al configure de hello-platzi y en el execute shell escribimos: echo “Hello Platzi from $NAME” Y añadir un build step que se llama : “Trigger/call build on other projects”, y en projects to build escribimos parameterized y le damos en añadir parámetros, luego parámetros predefinidos y escribimos: ROOT_ID=$BUILD_NUMBER BUILD_NUMBER es una variable de entorno, que es el valor de esta ejecución y guardamos.

    Le damos en “build with parameters” y entramos al console output de parameterized y vemos que la ejecución número tal, fue la que ejecutó a parameterized. Corre hello-platzi, él llama declarativamente a parameterized e indirectamente a watchers.

    Corre los test para esta versión, cuando acabes, mandame esta versión a producción le pasó el id del commit, y se lo pasó a mí job que hace deployment y cuando lo resuelvas me lo despliegas. El sabe la cadena de ejecuciones que tuvo, y cuál fue el que inició este proceso. El profe recomienda usar parameterized jobs en vez de watchers, porque cuando uso watchers solo tengo tres opciones mientras que con parameterized jobs tengo más opciones.

      Carlos Enrique Ramírez Flores

      Carlos Enrique Ramírez Flores

      student•
      hace 6 años

      Gracias por tu aporte!!

      Liza Pamela Luque Flores

      Liza Pamela Luque Flores

      student•
      hace 5 años

      Graciass!!

    Jose Maldonado

    Jose Maldonado

    student•
    hace 6 años

    Perdonen, pero no entendo nada de nada, instale, ejecute la herramienta, configuracion y realiza todo.. pero siento que solamente estoy siguiendo un paso a paso sin contextualizar, jenkins automatiza, pero que automatiza? despliegues de SO. Server, servicios dentro de server, si lo vemos del lado de Infra; codigo desde el lado de dev, pruebas desde le lado de qa, ?, alguna ejemplo, que me puedan recomendar de un uso cotidiano; prefiero preguntar que segir haciendo por hacer y ver correr algo por correr.

      Pablo Pelaez

      Pablo Pelaez

      student•
      hace 6 años

      Basicamente, con Jenkins se puede automatizar todo lo que mencionaste...Lo que tenemos es una herramienta que, en lo mas básico, ejecuta una serie de comandos en una maquina y obtiene un resultado, reemplazando ciertas tareas que normalmente hacía una persona. Es, por ejemplo:

      • Hacer build de un proyecto en Java que está en Git...si lo haces manualmente deberías hacer pull del repo, y correr mvn compile o gradle build. Con Jenkins te puedes evitar hacer eso, haciendo un Git hook que emita un evento de commit, en Jenkins le haces pull, build y te dice todo OK o falló. Inclusive, y como funcionalidad extendida, puedes añadir code linters, validaciones de Sonar, etc.

      • Hacer respaldo de una DB en un periodo en especifico. Si se hiciera manualmente deberías tener a alguien corriendo los comandos del motor de DB en un momento especifico. Con Jenkins solo es configurar dichos comandos y dejar configurado el cron. No hay que obviar que esto tambien se podría hacer con un crontab, pero pues a eso voy, Jenkins provee dicha funcionalidad, un poco mas transparente.

      Espero que esto te haya ayudado un poco.

      David Carrasquilla

      David Carrasquilla

      student•
      hace 5 años

      Bienvenido a Platzi donde sacan cursos por sacar, donde los cursos no tienen proyectos y donde ud no aprende cosas que no pueda aprender en youtube. En lo personal yo veo las rutas de aprendizaje de platzi como una guía, y busco los cursos de esas rutas en Udemy, donde puedo ver con comentarios y reviews reales si el curso vale la pena o no y aparte si no me gusta me devuelven la plata. Eso si en Udemy el material que mas vale la pena es en Ingles. Platzi = Bonita publicidad...

    Esteban Martini

    Esteban Martini

    student•
    hace 5 años

    para conectar jobs podemos hacerlo de dos formas, basicamente:

    • una es que un job este escuchando a otro, y en funcion de su estado success, fail etc. se ejecute -> (ejemplo de watchers)

    • la otra manera es desde un job (padre), llamar a explicitamente a otro job (hijo) para esto es necesario agregar un build step de tipo Trigger/call build on other projects esta opcion tiene la potencialidad de que se puede pasar parametros del job padre al hijo

    DMT Technology

    DMT Technology

    student•
    hace 7 años

    Ya logre instalar el plugin, pero no me aparecen esos dos Jobs.
    Ayuda por favor.

      Josué Chilón

      Josué Chilón

      student•
      hace 7 años

      Se tienen que crear, por separado, seguro el ya los tenia creados.

      Roger Vilà

      Roger Vilà

      student•
      hace 6 años

      reinicia el servicio de Jenkins i vuelve a iniciar el programa.

    Adan Virrey

    Adan Virrey

    student•
    hace 6 años

    He aprendido mas con este curso que con todos los videos de youtube que existen hasta hoy de Jenkins, el profesor explica super bien !

      Kevin Morales

      Kevin Morales

      student•
      hace 6 años

      Que bueno saber que el curso te ha ayudado :D

      Andi Antopher

      Andi Antopher

      student•
      hace 6 años

      haha

    Augusto Gonzalez

    Augusto Gonzalez

    student•
    hace 6 años

    Este video es super vital para todo el curso.

    David Carrasquilla

    David Carrasquilla

    student•
    hace 5 años

    Yo reto a quien sea que no sepa nada de Jenkins a seguir este curso y después hacer una entrevista de trabajo a ver si la pasa...

      Marcos Aguirre Miñarro

      Marcos Aguirre Miñarro

      student•
      hace 5 años

      Si no preguntan nada de Jenkins quizás tengas una posibilidad

      Juan Diego Alvarado

      Juan Diego Alvarado

      student•
      hace 5 años

      A ver, pretender aprender una tecnologia viendo un curso de una hora que ademas especifica que es basico no tiene ningun sentido. Ademas, al final se especifica que hay un siguiente curso de Devops donde se trabajan los conceptos de CI/CD que pienso que son vitales para el entendimiento de la tecnologia. Por ultimo, y evidentemente es algo que siento que se debe implementar, si un desarrollador pretende aprender algo solo viendo un curso y sin ir mas alla buscando otra documentacion o levantando proyectos propios, por ahi no es.

    Bryan Antonio Alvarado Villalobos

    Bryan Antonio Alvarado Villalobos

    student•
    hace 6 años

    Seguir aprendiendo no parar de aprender eso es la felicidad para mi

    Harold Adrian Bolanos Rodriguez

    Harold Adrian Bolanos Rodriguez

    student•
    hace 5 años

    Primero instalamos el plugin Parameterized Trigger, igual cómo instalamos anteriormente y reiniciamos.

    Luego vamos a crear 2 jobs nuevos: watchers: En este job, vamos a configure y vamos a “Build after other projects are built” y escribimos y escribimos hello-platzi, sí hello-platzi es successful, quiero que se ejecute watchers. Y en la parte de executed shell, escribimos : echo “Running after hello-platzi success” y guardamos. parameterized: Acepta parámetros cuando lo llamo. Marcamos la opción “ This project is parameterized” y en el name escribimos ROOT_ID. Y en el execute shell: echo “calle with $ROOT_ID” y guardamos.

    Y en hello-platzi, en Downstream project, y estos se añaden cuando jenkins se da cuenta que su job tiene una dependencia con otro. Vamos al configure de hello-platzi y en el execute shell escribimos: echo “Hello Platzi from $NAME” Y añadir un build step que se llama : “Trigger/call build on other projects”, y en projects to build escribimos parameterized y le damos en añadir parámetros, luego parámetros predefinidos y escribimos: ROOT_ID=$BUILD_NUMBER BUILD_NUMBER es una variable de entorno, que es el valor de esta ejecución y guardamos.

    Le damos en “build with parameters” y entramos al console output de parameterized y vemos que la ejecución número tal, fue la que ejecutó a parameterized. Corre hello-platzi, él llama declarativamente a parameterized e indirectamente a watchers.

    Corre los test para esta versión, cuando acabes, mandame esta versión a producción le pasó el id del commit, y se lo pasó a mí job que hace deployment y cuando lo resuelvas me lo despliegas. El sabe la cadena de ejecuciones que tuvo, y cuál fue el que inició este proceso. El profe recomienda usar parameterized jobs en vez de watchers, porque cuando uso watchers solo tengo tres opciones mientras que con parameterized jobs tengo más opciones.

    DAVID JULIAN MARTINEZ LUENGAS

    DAVID JULIAN MARTINEZ LUENGAS

    student•
    hace 5 años

    Importante para los que esta realizando el ejercicio en Windows las variables se llaman con el comodin "%variable%"

    • Para este caso en el job "parameterized" no me esta tomando la variable de entorno de Jenkins "NUMBER_ID", alguien sabe por que ?
    Jericsson Jesus Carvajal Guerrero

    Jericsson Jesus Carvajal Guerrero

    student•
    hace 5 años

    Ese plugin no esta funcionando correctamente. This plugin is up for adoption! We are looking for new maintainers. Visit our Adopt a Plugin initiative for more information.

    Hector Eduardo Alarcon Sanchez

    Hector Eduardo Alarcon Sanchez

    student•
    hace 5 años

    Workflow

    1. Se ejecuta Hello-platzi

    2. Hello-platzi llama a parameterized

    3. Indirectamente se ejecuta Watchers porque está viendo a Platzi

    Conclusión

    • Siempre se puede ver el usuario que ha generado el proceso, aunque sean varios jobs encadenados.
    • Recomendado: usar parameterized en lugar de watchers, es más flexible.
    Iván Toro

    Iván Toro

    student•
    hace 7 años

    Genial este ejemplo.

    James David Contreras García

    James David Contreras García

    student•
    hace 6 años

    Estoy ejecutando Jenkins de manera local bajo un entorno windows, logro instalar el plugin pero no aparecen los dos jobs que se indican. ¿Pueden por favor indicarme qué se debe hacer?

      Diego Forero

      Diego Forero

      Team Platzi•
      hace 6 años

      Los Jobs los creo en las clases anteriores, esos no se instalan por defecto en Jenkins.

      William Schnaider Torres Bermon

      William Schnaider Torres Bermon

      student•
      hace 5 años

      Para las personas que acaban de llegar al curso los Jobs fueron creados fuera de camara. Inicialmente solo se deben crear los Jobs con los nombres indicados en la clase. Luego es seguir los siguientes pasos:

      Watchers (será ejecutado cuando Hello-Platzi se compile)

      1. Nos dirigimos a la sección Build Triggers y marcamos la opción “Build after other projects are built”.
      2. Establecemos que el proyecto se ejecute únicamente si el proyecto “Hello-Platzi” es construido exitosamente.
      3. En la sección Build seleccionamos la opción Executed Shell y escribimos: echo “Running after hello-platzi success”.

      Parameterized (su ejecución se iniciará cuando Hello-Platzi lo indique)

      1. Al crearlo se selecciona la propiedad “This project is parameterized”.
      2. Se agrega el parámetro ROOT_ID.
      3. En la sección Build seleccionamos la opción execute Shell y escribimos echo “calle with $ROOT_ID”.
    Johny Jiménez

    Johny Jiménez

    student•
    hace 5 años

    la verdad me sirvio mucho y aprendi que es lo más importante

    Hector German Paramo Urrea

    Hector German Paramo Urrea

    student•
    hace 3 meses

    mucho bla bla y poco productivo , un uso del spanglish exagerado no se entiende 😒

    Jeffrey Torres

    Jeffrey Torres

    student•
    hace 3 años

    Una pregunta cual es la diferencia entre usar Jenkins vs por ejemplo hacer un docker compose para encadejar jobs?

    fabian miliani

    fabian miliani

    student•
    hace 6 años

    He realizado la configuracion , pero la respuesta no me imprime el ROOT_ID 15:05:37 Lanzada por el usuario fabian alberto 15:05:37 Running as SYSTEM 15:05:37 Ejecutando.en el espacio de trabajo C:\Users\fabmil22.jenkins\workspace\hello-fab 15:05:37 [WS-CLEANUP] Deleting project workspace... 15:05:37 [WS-CLEANUP] Deferred wipeout is used... 15:05:37 [WS-CLEANUP] Done 15:05:37 [hello-fab] $ sh -xe C:\Users\fabmil22\AppData\Local\Temp\jenkins5965374354533863549.sh 15:05:37 + echo 'hola Fab from Fabian' 15:05:37 hola Fab from Fabian 15:05:37 [hello-fab] $ sh -xe C:\Users\fabmil22\AppData\Local\Temp\jenkins2446028212280574019.sh 15:05:37 [hello-fab] $ node.exe C:\Users\fabmil22\AppData\Local\Temp\jenkins410591792167836239.js 15:05:37 Triggering projects: parameterized 15:05:38 Lanzando una nueva ejecución de watchers 15:05:38 Finished: SUCCESS

      Johny Jiménez

      Johny Jiménez

      student•
      hace 5 años

      la respuesta debe imprimir es el parámetro que pasa del job principal

    Felipe Jurado Murillo

    Felipe Jurado Murillo

    student•
    hace 6 años

    No me aparece el plugin Parameterized Trigger plugin :(

      Erickson Quintana

      Erickson Quintana

      student•
      hace 5 años

      a mi tampoco cual seria la solucion ????

      Erickson Quintana

      Erickson Quintana

      student•
      hace 5 años

      ya esta, debes buscarlo esn available de ahi instalarlos, este paso se le paso al profe el ya solo los muestra intslados en installed, realizalo asi y veras que todo fluye

    Tulio Roberto Morales Rubio

    Tulio Roberto Morales Rubio

    student•
    hace 2 años

    ¿cómo puedo eliminar el comentario o editarlo?

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads