No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
16 Hrs
6 Min
4 Seg

Configuración de un Job

6/15
Recursos

Aportes 34

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Buenas, compañeros para los que hacen el seguimiento del curso en Windows, tener presente
Que la ejecución o invocación de un parámetro es : echo%NOMBRE_VARIABLE%

echo "%NAME% esta es la version de Java"
java -version
echo "%NAME% esta es la version de Node"
node -v

General

Discard old build  

Como las cosas de los jobs se quedan en el disco duro en algun momento se va a llenar, ésta opcion es una manera de impedir que eso pase. Si se marca tiene varios opciones:

Dias: se puede decir que quiero tener este build por ‘X’ dias, por ejemplo 365 dias (un año).

Numero de builds a guardar: Tambien puedo decir 'quiero guardar los ultimos 2 bulilds"

This project is parameterized 

Se le puede pasar parametros al build. Por ejemplo un string parameter

Disable this project 

Si algo sale mal en un job y no quieres que nadie lo corra, se marca la cajita y el job no va a correr.

Source Code Management

Se puede elegir entre diferentes versionadores de codigo como subervsion o git

Build Triggers

Remotely

A travez de una API

After other projects are built

Si termino de ejecutar job A quiero ejecutar job B unicamente si job A fue estable

Periodicamente

Recibe la sintaxis de un cron, se puede ejecutar cronologicamente

Github hook trigger for GITScm polling

Cuando se haga un pus en githu el job se va a ejecutar

Bulid Environment

Delete workspace before build starts

Si tu corres el job y modificas el workspace, por ejemplo creas un archivo, la proxima vez que se ejecute, a a estar ahí, a menos que especifiques ésta opcion para eliminar el workspace

Use secret text(s) or file(s)

Añadir secretos, algo que no deberia estar expuesto a otros usuarios, esto te permite guardarlo y accesarlo a travez del script pero no va a estar expuesto a los ojos de otras personas, solo jenkins lo va a ver.

Abort the build if it’s stuck

Puede llegar el caso en el que el job nunca termino, por cualquier motivo que sea, es ideal que no se quede atorado, que falle. Entonces podemos deir que si no ha terminado en 3 minutos que se cancele el build y falle.

Add timestamp to the console output

perfecto, eh usado docker para instalar jenkins jalo de maravilla no hay problemas, si alguien le interesa hacerlo solo hay que instalar docker y ejecutar:
docker pull jenkins/jenkins:lts
docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
listo
nota: estoy usando windows
https://platzi.com/tutoriales/1432-docker/1779-como-instalar-docker-en-windows-y-mac/
espero les sirva la información

RESUMEN

  • Descripcion: ayuda a resolver cuando tienes un monton de jobs para describir.

  • Discard old builds: ayuda a resolver cuando muchas cosas se llenan en tu disco duro
    Days to keep builds: 365 dias --> quiero tener este build por un año
    Max # of builds to keep: 2 —> guardar los ultimos dos builds

  • This project is parameterized: Le puedes pasar parametros al build
    Add Parameter -> String Parameter
    Name: NAME
    Default Value: Boris Vargas
    Description: Descripcion

  • Disable this project: sumamente importante, si algo sale mal en un job y quieres que nadie lo corra (La mayor parte de jobs corren automaticos)

Source Code Management
Git: Añadir un repositorio
Credentials: Credenciales
(Usaremos un script para ejecutar esta parte)

Build Triggers
(Estuvimos ejecutando a mano)
Trigger builds remotely (e.g., from scripts): Tienes para correrlo por una API
Build after other projects are built: Si termino de ejecutar job A quiero correr job B, unicamente si job A fue estable.
Build periodically: Acepta la sintaxis de un CRON jobs (Corre cada minuto cada X dia, ‘si queremos que algo se ejecute sabado en la noche me corres este JOB’)
GitHub hook trigger for GITScm polling: Vamos usar futuramente, cuando tengamos un push en Github el job se va ejecutar

Build Environment
Delete workspace before build starts: (Importante que lo marquen) si tu corres tu job y modificas tu job y dejas files (algo) en la proxima ejecucion va estar. Queremos que el subfolder este limpio.
Use secret text(s) or file(s): Para añadir secretos

Bindings
Llaves o variables de entorno o algo que no deberia estar expuesto a otros usuarios te permite guardarlo y accesarlo atraves de script.

  • Abort the build if it’s stuck: Si el job que va a correr toda su vida, porque paso algo. (Si el job fallo o el S.O. fallo)
    Timeout minutes: 3 --> Si paso 3 minutos que cancele el build y falle (Poner como una variable global por comando)
  • Add timestamps to the Console Output: Marcar para ver el tiempo de ejecucion en consola

Build
Command: echo “Hello platzi $NAME”

  • Run with timeout: Si un comando demora mas, si un comando tarda demasiado le permites una ventaja mas de tiempo
  • Archive the artifacts: Vamos a usar en el futuro, watch others jobs y que se ejecute.

Resumen de la clase

(desarrollado con drive.mindmup)

Sintaxis para construir periodicamente

El formato de configuración de cron es muy sencillo.

El símbolo almohadilla «#» es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron.

El momento de ejecución se especifica de acuerdo con la siguiente tabla:

Minutos: (0-59)
Horas: (0-23)
Días: (1-31)
Mes: (1-12)
Día de la semana: (0-6), siendo 1=lunes, 2=martes,... 6=sábado y 0=domingo (a veces también 7=domingo)

##########################################################
#minuto (0-59), #
#| hora (0-23), #
#| | día del mes (1-31), #
#| | | mes (1-12), #
#| | | | día de la semana (0-6 donde 0=Domingo) #
#| | | | | comandos #
##########################################################
15 02 * * *

Para especificar todos los valores posibles de una variable se utiliza un asterisco (*).

La última columna corresponde a la ruta absoluta del binario o script que se quiere ejecutar.

Soy el unico que ve estos videos a 1.5x de velocidad?

Como esta la situación actual con jenkins? tiene 2 años… no se si es valido hoy dia.

En la ultima versión de Jenkins, ya no se permite la configuración del controlador de versiones Bitbucket, solo Git.

glacias mi lidel

Discard old builds, permetira que tu disco se llene para que jenkins siga funcionando

disable this project, permite que no corra el job en automatico

10/10 profe me encanta como da la clase, bien informativa sin dar vueltas, va al punto es amigable y pronuncia bien jaja
Además el tema está súper interesante ya imagino todo olo que voy a hacer.👌🏽

Para aquellos que no lo habían notado, dando clic en el icono con el signo ? (a la derecha de cada propiedad) pueden encontrar una explicación muy util.

Disculpa que sistema operativo están usando???

Esta clase estuvo mas descriptiva. 😄

Funcionando

echo "Hello DBZ from $NAME"
Para los que usamos commando de windows, pueden agregar el parametro en el comando de la siguiente manera: echo "Hello world from %NAME%"
Son Githubs Actionsa con interfaz grafica basicamente, o algo asi

https://crontab.guru/

Pagina para generar expresiones del tiempo de ejecución de un Jobs

Buenas noches, hice los cambios sobre el Job pero al ejecutarlos me genera el error:
[Primer Job] $ sh -xe C:\WINDOWS\TEMP\jenkins4372753629061369059.sh
El sistema no puede encontrar el fichero especificado
FATAL: la ejecución del comando ha fallado

Alguien sabe porque puede estar pasando ?
En efecto tuve que crear otra tarea con la misma configuración y este si funcionó.

19:12:43 Started by user Mario Alexander Vargas Celis
19:12:43 Running as SYSTEM
19:12:43 Building in workspace /var/lib/jenkins/workspace/hello-platzi
19:12:43 [WS-CLEANUP] Deleting project workspace…
19:12:43 [WS-CLEANUP] Deferred wipeout is used…
19:12:43 [WS-CLEANUP] Done
19:12:43 [hello-platzi] $ /bin/sh -xe /tmp/jenkins1204353233289939953.sh
19:12:43 + echo Hello platzi celis
19:12:43 Hello platzi celis
19:12:44 Finished: SUCCESS

Pregunta. Este curso tiene 4 años, que tan diferente es Jenkins a lo que es actualmente?

Wow esto me servirá mucho en mi trabajo

interesante

Excelente!!

voy a instalar el servidor de aplicaciones nginx en mi maquina para poder hacer un despliegue mas real

Done! Job ejecutado con éxito

Genial, hasta aqui todo va corriendo perfectamente!!

Genial hasta el momento 😃

buena explicación, chevere.

Super, me gusto esta clase