Transcripciones
1. Introducción a la tubería: Oye, mira aquí, defiéndete al campeón,
defiéndete por el campeón. Para que realmente lo
hagas aquí, eres un campeón absoluto. Has podido
completar la primera clase, que es el
módulo principal que presenta, y ahora estás
aquí para entender el pipeline de CICD para ver cómo todo
irá de extremo a extremo Tenga en cuenta que vamos a
estar viendo el CICD central,
lo que implica, cosas como pasos de trabajo Inyección de variable de entorno, inyección de secretos,
uso de acción personalizada, almacenamiento y descarga de
artefactos, destripar imágenes de Docker, o iniciar sesión y empujar
a DockerHub, todos estos muchos más los
encontrarás Te voy a llevar antes
que nada, vas a pasar por
una muy agnóstica Ese es un paso agnóstico modulítico. Simplemente queremos decir. Eso es
bebé bueno, en realidad. Simplemente queremos decir, lo tomaré a través de pipeline
en serio pipeline, no favoreciendo ningún
lenguaje de programación ni ninguna aplicación Entonces luego adaptamos
las cosas o llevamos a casa para
que veas cómo
aplicar a la aplicación
modular que construías en
primera clase, ¿verdad Esto y muchos más
vas a ver este caso y
promete ser acelerado
y muy atractivo. Te veré en el siguiente video.
2. Herramientas de canalización necesarias: Hola a todos.
Vamos a estar hablando de las herramientas que se
utilizan en esta clase. Muy fácil. Todavía nos
vamos a apegar a nuestro IDE. No vamos a usar
nada diferente. Construiremos directamente
dentro del Intellig. Intellig sólo es suficiente. Simplemente estamos aprovechando Intellig y
Github. Eso es todo lo que necesitamos.
Con este set, veré en el siguiente video.
3. Diagrama de flujo de tuberías: Hola a todos. Z aquí. Bien. Esta sección
se centra principalmente en tratar de automatizar
nuestra imagen pero. Entramos antes de ahora, sesión
Do We esa es la
producción muy características. Lo que hicimos fue intentar
construir la imagen manualmente. Ejecutamos el manual de
comandos de Docker. No tenemos que hacer eso.
Afortunadamente para nosotros, estaremos haciendo uso de las acciones de
Git, ¿verdad? Entonces, la idea detrás de la idea detrás de usar un pipeline
es todo acerca de la automatización, tratando de eliminar las entradas de los usuarios. Eso es lo que estamos tratando
de hacer. Una vez que lo configuras, puedes estar seguro de eso
y está probado, es infalible así que
vienes por Eso es lo que
pretendemos hacer aquí. Aprovechando esto, antes que nada, hagamos una idea de
lo que pretendemos hacer Voy a usar a Jerod Ohio. Esta es una herramienta gratuita, que también
puedes usar, ¿verdad? Creo que son mis proyectos pasados.
Déjame simplemente descarriar Sí,
ya tengo todo listo. Sólo toma el relevo. Bien. Todo bien. Entonces,
apalanquemos vamos a tener algunos de lo
que pretendemos construir. Lo que vamos a hacer es que vamos a tener
dos secciones, ¿no? Vamos a tener
estas dos secciones. La primera sección va
a ser la sección de belleza, ¿verdad? Vamos a tener
la sección Pero. Déjeme traer esto.
Déjame escoger alguna imagen. Déjame escoger esto, los generales piensan que creo que esto
debería ser suficiente T debería ser suficiente. Bien.
Entonces vamos a tener, creo, déjame tomar un mensaje de texto. Entonces vamos a ir
a tener sección Pero. Bien, entonces vamos
a tener dos secciones. Dejemos las secciones. Tienes dos secciones,
las secciones van
a ser la sección de compilación, y luego también
tenemos la imagen push. Vamos a llamarlo sección push
image, ¿verdad? Tenemos que entender
lo que hace esto, entonces nos da una buena idea de lo
que queremos hacer. Todo bien. Voy a tratar de
representar esto de manera diagramática. Empecemos. Sí. Entonces cuando
empujas tu código, verdad, qué
esperas que suceda? Empuja tu código, quieres que algo así como un laboratorio de tuberías
automatizado en marcha
para ejecutar tu código,
una vez que ejecutas tu código, entonces probablemente en un entorno
virtual o en un entorno particular, intenta construir tus dependencias
móviles, saca todos los detalles, ¿verdad Así que tengámoslo en mente. Siempre nos referimos a este
tipo mientras construimos. Lo primero es una vez que empujamos, así que etiquetemos ese código push. Este es el único paso que probablemente necesites para
hacer push tu código. Entonces una vez que empujas tu código, ick. Una vez que empujas tu código, lo siguiente es que quieres impulsar
el entorno virtual. Permítanme etiquetar esto como un entorno
virtual. Vamos a escoger esto. Escoge
esta entropía aquí Vamos a llamarlo entorno
virtual, llamémoslo a través del entorno
virtual. Vamos a llamarlo solo entornos
literales virtuales, entornos o un contenedor, como
sea, ¿verdad? Aquí es donde se pondrá tu
código. Entonces una vez que tienes esto, lo siguiente es entonces ¿qué quieres que
pase dentro de este tipo? Lo que quieres que suceda es
que quieres configurar tu Java, configurar Java Beameber
como un entorno local, tienes que configurar
Java, configurar Maven, configurar Maven, luego tirar
dependencias, tirar dependencias Dependencias. Yo deletreé
estas dependencias. Pull dependencias, ¿verdad? Una vez que seas capaz de hacer esto, sacamos dependencias que básicamente queremos ejecutar Lo que queremos hacer es mirarlo, cuál es el siguiente paso
que probablemente quieras hacer. El siguiente paso serán las dependencias
pull. Después de configurar Java, o entorno
podemos poner dependencias. ¿Qué quiere hacer el anidamiento? Queremos construir la imagen. Queremos construir la imagen. Pasemos eso a
otra sección más. Llámalo imagen. Pero la imagen. Usemos una flecha
para la dicción del flujo. Tomemos estas cosas
cielo producción de flujo. Este tipo viene aquí.
Entonces tenemos esto. Entonces también tenemos este derecho. Bien, entonces imagen de belleza.
Entonces esto es lo que pasa. Entonces en el momento en que empujas
un código para levantarte, esto sucede, luego
construye una imagen. Entonces después de construir tu imagen, construyes tu frasco Lo sentimos, esto debería ser un archivo de Jar de belleza, no imagen, tarro.
Eso es a lo que me refiero. Lo siento. Así Pero Ja archivo. Después de construir el archivo Ja, ¿
qué quieres hacer? Recuerda, tenemos un comando que
hace que es el Mv en
paquete limpio. Recuerden eso. Entonces eso es lo que vamos
a usar. Entonces Construye Jar, digamos Pero Jar con perfil. Recuerda, especificamos mucho perfil, ¿cuáles son los
perfiles que tenemos? Déjame revisar el costo
otra vez. Este es el módulo. Tenemos al Dev, al Docker. No queremos usar Dev, porque este es mi entorno
local. Probablemente queremos
usar esto yo diría, Vamos pero creo que esto
va a ser suficiente. Usemos este perfil
que es Docker. Si estás usando el
perfil, que es Docker. ¿Correcto? Si lo estás usando, entonces tenemos que especificar
el perfil acoplable Pero tarro con perfil. Creo que ustedes entienden lo que estoy
tratando de traer aquí. Bien. Vamos a estar seguros de que
Ja archivo pero con éxito. Vamos a estar seguros de que Ja
archivo con éxito. Vamos a hacer vamos
a enumerar el archivo. Vamos a enumerar los peros del archivo. Eso nos dará una buena idea si hemos hecho la maduración, ¿verdad? Hecho la escritura. S,
llamemos a esto por qué vamos a llamarlo es archivos de lista. Cuando digo archivos de lista, queremos enumerar cuál es el jar que se construyó en
el directorio o los me gusta. Ahora bien, esto es más
como el primer paso. Sin embargo, es un entorno
virtual. Este es el primer paso
para construir la imagen. Ahora, ahora queremos ir
a otra sección, esa sección será
un caso donde queremos empujar la imagen, ¿verdad? Ahora quieres construir
la imagen per se. Ese es el deseo de
construir la
imagen de la aplicación, ellos quieren empujar. Entonces para hacer eso, bien,
voy a agregar dos pasos
más a esto. Puedes hacer todo esto
de una sola vez, ¿verdad? Pero voy a agregar
dos pasos más a esto. Y la razón es porque deliberadamente
quiero
mostrarte algunas características
sobre las acciones de engranaje, ¿verdad? Así que características sobre la acción del engranaje. Entonces lo que haría es que
entraré aquí y
diría que vamos a subir
el artefacto Ahora bien, ¿por qué es esto necesario? Esto es necesario porque siempre
podemos activar el mismo trabajo o podemos guardar nuestros artefactos pero
los usamos para más adelante. Voy a decir
subir artefactos. Esto es muy esencial. Una vez que descubre que hay una parte en la que
puedes guardar fácilmente las cosas en caché, no a realmente amigo, lo que vamos a
ver principalmente dentro esta sección porque
no queremos estar tirando de
las dependencias cada vez Queremos realmente almacenar en caché para asegurarnos de que las cosas
realmente se muevan. Entonces empujamos la imagen, configuramos nuestros detalles, construiremos el jar
con el perfil. Quieren enumerar
los archivos que queremos
usar que sean necesarios
para construir la imagen. El archivo que se
necesita, al parecer, creo que tenemos
que pensarlo, creo que necesitamos nuestro archivo JA,
necesitamos nuestro archivo Docker Esos son principalmente
los dos archivos primarios que
necesitamos para construir realmente nuestra imagen porque el archivo
Docker nos dirá nosotros decimos exactamente cómo
queremos construir la imagen Entonces el archivo Ja es
básicamente la guía que ejecutamos dentro del contenedor.
Queremos subir. Déjame ser consistente,
sube artefacto. Paso uno. Nosotros tenemos esto. Paso dos. Paso dos ahora, ¿qué estamos haciendo en el paso
dos? Nosotros queremos tomar esto. Queremos descargar
los artefactos. ¿Quieres descargar los
artefactos Artefactos, T en descarga artefacto Después de descargar el artefacto, vamos a dar salida al contenido También enumeremos los
contenidos que tenemos. Vamos a enumerarlo. Vamos a
enumerar el contenido. Vamos a enumerar los contenidos. Vamos a enumerar el contenido. Vamos a
estar seguros de que lo que subimos es
lo mismo que hemos descargado, ¿
verdad? Vamos a enumerar el contenido. Esto es yo sé por qué es bonito, pero
solo quiero elaborar. Entonces una vez que
lo hemos hecho ahora tenemos esto. El siguiente paso es básicamente
que queremos iniciar sesión. Recuerda, o bien estás
usando Docker Hub, quieres empujar Docker
Hub por registro privado O Docker Hub un registro
privado, básicamente
necesitas iniciar sesión, necesitas iniciar sesión en
el entorno Para Docker hago Docker login. Hay un comando llamado Docker login que necesitas
usar realmente, pero es una mejor
manera de ver Aquí decimos vamos a iniciar sesión. Yo solo diré Docker login. Entonces voy a iniciar sesión. Entonces, cuando inicio sesión porque eso realmente me
daría acceso
completo al medio ambiente a
mi cuenta de Docker Hub.
Entonces voy a hacer esto. Entonces bien. Muy bien, así que inicia sesión. Recuerda, estos pasos
son secuenciales. Ese es yo colocándolos de esta manera. Entonces iniciamos sesión. Entonces,
¿qué quieres hacer? Entonces después de iniciar sesión creo que
el siguiente paso es claro. Vimos y empujamos la imagen. Ahora bien, debería ser
Bute entonces empuja, pero lo colocaré
juntos y ya ves por qué Ya ves por qué en un rato. Entonces
llámalo Bute y empuja Entonces porque
había algo que les
voy a enseñar chicos
que es realmente increíble. En lugar de construir
un paso y construir, hay algo que tenemos como, Bien, déjame dejar el
corte de la bolsa. Eso es básicamente lo que
vamos a estar viendo en la
siguiente sección, ¿verdad? Así que vamos a construir y
empujar a Docker Hub, ¿verdad? Entonces una vez que lo hemos hecho, creo que nuestros pasos son tan
buenos como completos, ¿verdad? Nuestros pasos son tan
buenos como completos. Entonces porque ese es
el objetivo principal. El objetivo principal es
cuando empujamos la imagen, queremos empujar hacia
fuera a Github, tenemos un entorno virtual
automáticamente girar, y esto realmente
construirá estos detalles. Una vez que construye detalles de Java, el Mv adentro, tira de
las dependencias, quieren atrapar para más tarde para otro
disparador una vez
que hayas hecho esto, construyes el jar con perfil Una vez que construyas el jar, quieres listar el archivo y
los archivos básicamente aquí están el Dockerfile
y el archivo Quieren subir el
artefacto para después que lo usemos. Ese es el paso uno. Entonces paso dos, quieres entrar aquí, descargar el artefacto,
subiste aquí, lista el contenido para estar seguro es el mismo
que el que tenemos aquí Entonces iniciamos sesión,
no mas la imagen, no empujes a Docker Hub Estoy usando mi cuenta privada. Bien. Dicho esto, lo que voy a hacer es
que voy a guardar esto y muestra parte de los archivos. Entonces voy a empujar esto
a Github esta imagen a Github para que
siempre puedas hacer referencia después, ¿verdad? No es por qué es bonito, pero solo quiero que ustedes tengan una idea de lo que pretendemos hacer. Entonces lo que voy a hacer por último, sólo
voy a llamar a este paso uno. Paso uno, paso uno, luego escoge esto y
colócalo aquí. Llamemos a esto paso dos, ¿verdad? Paso dos. Paso dos. Paso dos. Todo bien. Ahora bien, sabemos que todo esto
depende el uno del otro. Pero sin embargo, sigamos
en el siguiente video.
4. Inicio de la tubería: Hola a todos. Aquí Zee, gracias por
volver conmigo. En el video anterior, en realidad
miraste este diagrama para ver exactamente lo que
vamos a estar construyendo. Siempre puedes referirte a ello. De hecho, me referiría a esto cada vez, de vez en cuando. Voy a empujar esto para que
puedas asegurarte de que encuentras esto en el repositorio cuando
realmente lo mires. Ahora bien, el siguiente paso en lo
piensas, si piensas en esto es ¿
deberías correr esto en paralelo? El paso uno y el paso
uno
dependen el uno del otro. Entonces
será secuencial. La respuesta es que tiene que ser secuencial
porque
a pesar de
que pasamos por esto, todo lo que queramos
hacer aquí es dependiente. El paso dos
depende del paso uno. Ser el paso dos es
depender del paso uno, así que tenemos que esperar a que termine
la subida
antes de luego ir al otro paso para
realmente sacar detalles. Todo bien. Um, así que
eso explicó totalmente eso. Entonces creo que ya es hora de que pasemos ahora
a algo más concreto para que veamos ahora exactamente cómo tenemos planeado
esto. Entonces con ese ser
estaremos explorando Github. Estamos explorando GitHub para ver
qué vamos a construir. Entonces esto es, bien este es
uno de mis otros cursos. Déjame simplemente cambiar a mi curso. Déjame simplemente cambiar
al otro curso. Bien, entonces este es el curso de
swing Modult. Bien, entonces en las acciones de Git, lo siento, en GitHub, hemos llamado acciones, llamadas get actions. Entonces, acciones, se podrían
ver principalmente acciones como su pipeline
básico, ¿verdad? Todo lo que harás con
ajo pipeline o lo
harás con un archivo Jenkins, Jenkins DSL o Jenkins pipeline. ¿Verdad? Es exactamente
lo mismo que harías. Ahora, solo tienen una sintaxis
diferente. Pero algunas cosas
son bastante similares, pero solo tienes un
poco de sintaxis diferente que solías probablemente el mismo el cuerpo lograr
el mismo objetivo. Entonces quiero que tengas en mente. No tienes que
aprender todo, pero solo necesitas tener
una buena comprensión sólida de uno. Y por eso
te estoy mostrando los que
realmente puedes tener para. Que son las acciones de Git. La documentación
es bastante poderosa, reviso y te
puedo decir que ves, no lo
he aprendido
todo, pero sigue siendo un buen número de cosas, pero siempre encontrarías
lo que necesitas usar, siempre
tienes lo que necesitas usar. Estaremos explorando las acciones de Git, y eso es exactamente lo
que usaremos para
construir realmente nuestro pipeline. Ahora bien, podríamos
seguir adelante para decir, Bien, ya que tenemos un proyecto en movimiento, solo
vamos a pew el proyecto en
movimiento, pero esto habría
sido bootstrapped Ya se ha arrancado
a mucha gente. Yo no
quiero hacer eso. Quiero mostrarnos exactamente
cómo va a funcionar esto
y cómo va a funcionar esto es que vamos a ir dentro de nuestros
proyectos, ¿verdad? Iremos dentro de nuestro proyecto,
luego dentro del proyecto. En el archivo root
de tu proyecto, que es básicamente esto
es exactamente lo que vas a obtener root en este
archivo raíz de tu proyecto, así que este root fold nuestro proyecto, creas un directorio. Y un directorio debe estar
etiquetado punto Git Hub, ¿verdad? Si no, se llama Dot Git Hub. Entonces, en el momento en que realmente
presionas un GitHub de Dot, eso es exactamente
lo que está esperando. Debes etiquetar un GitHub. No debe tener
un nombre diferente. Punto GitHub. Así es como reconoce que estás
tratando de impulsar una acción. ¿Todo bien? Bien. Entonces
ahora tenemos eso. Ahora bien, ¿cuál es el siguiente
paso que tenemos que hacer? Dentro de ese Github. Hay algo que se
llama flujos de trabajo. El flujo de trabajo es como,
tenemos varios flujos. Podrías tener dentro del
mismo proyecto corten flujos. Podrías tener un
flujo podrías tener diferentes flujos de implementación para varias cosas para
hacer varias cosas. Pero estar enfocándonos en uno solo
para desplegar o construir nuestra imagen. Dentro de esto, hay que crear otro archivo llamado workflows. Debe ser el nombre
exacto por favor, el nombre exacto, flujos de trabajo. Nombre exacto. Ahora, dentro de los flujos de trabajo, no
creamos un Yarmofle Ahora bien este Yarmofle podría
ser cualquier nombre en absoluto. Podría tener cualquier nombre,
pero debe ser un archivo Yamal. Voy a llamar a este despliegue punto Yamal. Este es el tipo que estaría usando. Ahora automáticamente, tengo que hacerlo, tengo una inteligencia
aquí diciendo ahora se puede crear un archivo sin que
necesite todas estas propiedades. Vamos a llegar a esto
llegamos a esto en unos pedacitos. Necesito entender esto. Volviendo a esto una vez más, he creado, estoy tratando explicar que para que tu
acción se active, necesitas tener
este archivo dentro tu paquete usando
el archivo deploy y el archivo debe ser uso deploy
Yamfi puede ser cualquier nombre Podría ser tal vez oleoducto o Yarmo no importa,
pero debe ser un Yam Debe estar dentro de
la carpeta workflows y roflesFolder debe ser Dt Github y Dt github debe estar en la raíz
de Bien. Ya que tenemos un buen
entendimiento de eso, creo que es momento de
empezar a saltar. Es hora de empezar a saltar. Ahora, hay una forma básica
que necesitas en realidad. Si revisas la documentación, hay un formulario básico
que realmente explican. El número uno es su flujo de trabajo
o su implementación. Necesita tener
un nombre. tener un nombre. Vamos
a darle un nombre. Tenemos un nombre. El nombre como lo llamamos, lo
llamamos Creo que estamos tratando de que el objetivo sea construir una imagen, Construir imagen push. Voy a
llamarlo llamémoslo una imagen build push sea cualquier cosa. El nombre podría ser push image para producción o para despliegue, quieras
llamarlo, solo dale un niname Cualquier
fan syname bien, Ahora, una vez que le has
dado el nombre, lo siguiente es
la expectancia. ¿Cómo quieres que se active esta
acción? Ahora, hay varias formas,
toneladas, numerosas formas en las que
esto se puede desencadenar hoy en día. ¿Cómo quieres que
se active? Defínelo usando la palabra clave, entonces estaré diciendo que quiero que
esto se active al presionar. Ahora bien, si
miras esto, ya ves, solo
presiono una P.
Podrías hacer esto en proyectos de
pago visto,
PogrQuest, Reseña de libro Entonces básicamente deberías
explorar, ¿verdad? Explora.
Básicamente puedes explorar. Entonces necesito realmente
tener esta idea. De hecho, podrías
hacer esto en temas. ¿Ves? Hay problemas.
Digamos que tienes problemas. Recuerden, en realidad estábamos
trabajando en temas hace
algún tiempo, teníamos
estos problemas de levantarse Entonces podrías trabajar
en temas. Entonces, si es este proyecto,
podrías trabajar en esto. Entonces se podría decir, Bien, en
cuestión cerrada en libro de temas, recuerde que intentamos cerrar varios temas sobre la
oportunidad con el despliegue. Entonces eso vamos a hacer. Entonces, estoy diciendo que en
realidad te vendrían bien los problemas, ¿verdad? Pero nos estamos enfocando en la acción. Y lo que realmente nos
interesa cuando empujamos el código para levantarnos y empujando el código para que
renuncie al push es una acción push. Así que en empuje. Entonces ese es el verbo
básicamente en empujar. Eso es lo que realmente estamos
tratando de apuntar. Ahora, a pesar de que
incluso estamos usando on push, esto en sí mismo
no es suficiente. Si solo lo etiquetamos al
empujar estamos diciendo algún empujón a cualquier rama, ¿verdad? Cualquier empuje a cualquier sucursal. Por suerte para nosotros, podemos
ir un paso más abajo para decir, quiero especificar
sucursales. ¿Ves? Podrías ignorar alguna sucursal o podrías usar alguna sucursal. Ahora, no puedo explicar completamente todo lo que
tenemos sobre G action, pero solo quería tener unos pocos. Se trata de que pienses,
piensa en lo que tienes que hacer. W piensas en ello,
puedes acceder fácilmente a él. Ahora, podría decir, quiero que esto ejecute
para la rama principal
para la rama Dev, pero no debería funcionar
probablemente para una rama de características. Podrías colocar la rama
de característica en esto. Esto es a lo que me
refiero, podría decir, mi principal objetivo es hacer que
esto corra para rama principal. Esta carrera para rama principal. Entonces podría decir, quiero
ignorar quiero ignorar,
así que voy a ignorar por
probablemente rama característica, si tengo algo llamado rama
característica, ¿verdad? Esto no se ejecutará
por característica mala. Si presiono algo
para que aparezca pero, nunca
se ejecutará, ¿verdad? Necesito
tener esa idea, ¿
verdad? Esto es básicamente. Podrías ver esto,
pero voy a quitar esto solo para
que tengamos exactamente lo que necesitamos. Exactamente lo que necesitamos. De esta manera para que cuando estemos construyendo
un proyecto personal, podamos saber exactamente
lo que tenemos que hacer. Todo bien. Así que
vamos a tomar un descanso impactante de construir esto así que ahora pasar a algo
un poco más de detalle. Ahora el siguiente paso es,
podríamos tener Recordar, tenemos variables de entorno. Estas
variables de entorno a determinar. Estos chicos en realidad definimos todas estas variables de entorno. Mientras estamos corriendo, recuerden
que estamos ing en gaction. Ya no estamos funcionando
en mi sistema local. Como resultado, ¿dónde
archivará dónde se encontrarán
estos tipos? Este archivo se
encontrará en entornos. Por suerte para nosotros
también, tenemos lo que llamamos entorno ENV Tenemos ambiente. Puedo seguir adelante y definir todos
los ambientes. Ejemplo para decir mi perfil de
resorte, y perfil de resorte, ¿recuerdas
que usamos perfil sprint? Esto estoy usando perfil sprint. Aunque conocemos el perfil
sprint activo, el perfil de
resorte es exactamente lo que se
leerá en
el archivo Docker Recuerda este perfil de
muelle Docker aquí. Eso es que estoy siendo consistente. Todo bien. Yo podría
decir perfil de giro, haz esto, digamos Docker Digo Docker, entonces
probablemente modele host, el host, local
host, local host Pero es una mejor manera. Este soy yo
definiéndolo manualmente dentro de esto, pero darle a ella nos da
algo mejor para que hagamos, algo mejor para nosotros definir dónde podrían estar todos nuestros
entornos. Eso es lo que
estaremos explorando en el próximo video. Nos vemos chicos.
5. Primera ejecución del oleoducto: Oigan, todos, e aquí. Bien. Entonces te lo dije sabia, debería crear otra
que sea otra aplicación soy la que usamos para la acción y definimos voy a decir
por qué en los bits. Esta es la razón.
Duplicemos esto, llamémoslo acción. Estamos usando la acción. Ahora bien,
¿por qué he decidido hacer esto? El motivo es porque
recuerda nuestro Dockerfile,
esa es la aplicación, el entorno Docker,
el perfil DA utiliza una
herramienta DDL, perfil DA utiliza una
herramienta DDL Pero eso no queremos.
Eso no queremos. Queremos que este tipo sea actualización, queremos que eso sea actualización y por qué
recordar que usamos Recuerda, si tenemos alguna tabla
todas las tablas que realmente
tenemos dentro
del proyecto, estas tablas, básicamente, este tipo, todos estos chico van a estar
esperando que se
creen y si no se
crean tron excepción. Recuerda, excepción de Mtell tran. En consecuencia, esta tabla,
la excepción de Mitron. Usemos update de esa
manera aseguraría que las tablas se
crearan automáticamente en el entorno
virtual. El miembro es un entorno
virtual. Debido a que es un entorno
virtual, todo lo que hacemos en
cada momento muere,
excepto los que atrapamos. Si alguien a quien no atrapamos, muere con el contenedor
o lo vuelves a girar, así que con el
entorno virtual, se recarga. Así que estamos seguros de usar actualizaciones
cada vez para eso. Entonces por eso decidí
usar inducción, así que no termino
modificando este Dockerfile Entonces como resultado, no significa que vamos a
recrear todo ¿Creamos todo una vez más? No. Entonces lo que he hecho
es que he seguido adelante y creado un ambiente
llamado acción. He creado un
entorno llamado acción, que es exactamente la
misma réplica de esto. Las únicas diferencias.
La única diferencia es ésta. Las únicas diferencias. Tenemos siete variables y usándolo porque
agregué un perfil. Entonces este perfil, aparte de usar acción, lo
voy a editar. Voy a llamarlo acción. Entonces, la acción es lo que
esperaremos. Qué está bien, acción.
Déjame minimizar esto. No, no, no,
no, no quiero borrar. Entonces quiero acción. Bien, entonces variable de fecha. Quiero mi contraseña. Mi código de autenticación porque lo ve como un código sensible, por lo que necesitamos realmente
colocar los detalles allí. Esto está bien. De hecho ya
tengo esta configuración. Así que voy a pasar
mi código de autenticación. Esta es una vez que no
tratamos de imitar porque
no va a funcionar.
Noticias de una sola vez. Todo bien. He editado esto. todo esto ya disponible,
tenemos que secretar. El secreto y todo
sigue igual. Entonces, para evitar confusiones
cuando la gente realmente vuelve
a este curso para mirar esto y decir,
¿por qué tienes? Voy a eliminar este
docker y eliminar esto. Entonces tenemos acción aquí. Nosotros hemos hecho lo básico. Se completa el primer paso. Ahora bien, ¿qué es
lo siguiente que queremos hacer? Ahora tenemos esto completado, entonces
podemos volver a nuestro archivo,
el archivo que estamos construyendo
antes, este archivo de acción. Ahora bien, ya no
pretendemos usar esto. Ya no estamos usando este
entorno. Todo lo que tenemos que
hacer entonces es que va
a entrar tenemos trabajos
tenemos una sección de construcción. Voy a explicar
esto en un rato. Rápidamente quiero especificar dónde
ubicamos el entorno. Tienen ambiente. ¿Y cuál es el nombre
del medio ambiente? Acción. Por favor,
no te confundas. La acción que coloqué aquí. Esta acción aquí
es el perfil de resorte. Este entorno es el Docker
es el entorno GitHub, entorno GitHub
acción. ¿Dónde está esto? Esto consigue acción, esta
acción aquí, no consigue acción, acción
ambiental
es este entorno. Entonces, ¿qué pasa con la acción del perfil de
resorte? La
acción del perfil de resorte es esta. Por favor, entienda
la diferencia. No te confundas
al respecto, también. Pensé que
en realidad debería mencionarlo. Bien, genial. Volvamos. Entonces aquí es donde lo
defines, ¿verdad? Es donde lo
defines ahora. ¿Qué son los empleos? Piénsalo, podrías tener lo
que quieres hacer, ¿verdad? ¿Qué quieres hacer? Piensa en los
trabajos como lo mismo
cuando quieres ejecutar un trabajo cron o
quieres ejecutar una tarea específica Usemos esa palabra. Se
quiere ejecutar una tarea específica, y esa tarea básicamente
se llama jobs. Por lo que define cualquier cosa que
quiera hacer se
define en los trabajos. Ahora, por el nombre,
se puede ver que es plural. Nadie, plural,
es decir, puede ser muchos. Entonces es por eso que ahora necesitas
darle un nombre a cada uno de tus trabajos. H de tu trabajo un nombre. Y es por eso que esto es se
puede notar que esto está todo construido. Así que estoy llamando a esto
el trabajo de Bute, ¿verdad? La sección de trabajo construido. Para que puedas nombrar en cualquier nombre. Dale una sección construida. No importa, pero
solo dale un nombre para distinguir un trabajo
del otro, ¿verdad? Entonces solo dejaré esto como bulled déjalo como
construido. Ahora tenemos esto. ¿Bien? Entonces, ¿qué pasa la otra sección que
vamos a ejecutar? La otra sección que
vamos a ejecutar, se llamará
la imagen push. Voy a llamarlo imagen push, ¿
verdad? Sección Push Image. Llámalo sección pushimage.
Así es exactamente como. Ahora esto es quejarse
porque está esperando que
termine mi detalle, lo cual no he hecho, pero solo
quiero mostrarles a
ustedes como matrona a su Entonces podría dejar esto como Pero sección o
darle un nombre, ¿verdad? Dale un nombre que lo
distinga. Entonces empezaría
esto porque
volveremos a esto, ¿verdad? Volveremos a esto. Entonces ahora que tenemos la acción, es necesario
especificar
para obtener acción qué entorno desea ejecutar la aplicación, en qué
entorno, ¿verdad? Qué ambiente
definir realmente que tienes lo que
llamamos se ejecuta en las carreras. Y se ejecuta en especificar varios contenedores
que se pueden utilizar. Voy a estar usando Ubon a lo último. Cómo te estarás preguntando,
¿Cómo llegué a conocer
esta información? Oh, eso es bastante fácil. Entonces, una vez que en
realidad una vez que realmente vas a Gear action, vamos a ir a
lo que suelo hacer Gear action job Así que esta es nuestra búsqueda usando trabajos
en el flujo de trabajo usando trabajos. Entonces, si bajas,
verás diciendo que estos son
los trabajos que pueden correr. Vamos a darte un ejemplo típico de
cómo debería ser tu trabajo. ¿Ves? Trabajos, entonces tú también un trabajo. Acabo de etiquetar acción mental dued. Así que necesitaba que
viesen esto, ¿verdad? Entonces ahora que tenemos
esto, volvamos. Veamos el uso de trabajos. Si quieres usar
trabajo, usar trabajos en el flujo de trabajo, ¿verdad?
Nosotros tenemos esto. Ahora, tenemos que
configurar el corredor. Esto es lo que
buscaba . Eliges un corredor, ¿verdad? Que es donde
usamos las carreras. Puedes proporcionar las carreras y te indica las
variaciones que puedes usar. Bajemos a
ver qué se puede. ¿Ves? Si especificas un área
de StreMT uno entonces, por
ejemplo, aquí el trabajo
solo ejecutamos en este,
cual es este, ¿verdad Para que puedas explorar varios
detalles al mismo, ¿verdad? Elegir corredores autoalojados. Así que busca lo
que realmente necesitas. Quiero correr en Ubuntu,
utilicé la palabra latest in. Usando la última versión
de Ubuntu, ¿verdad? Usando la última versión de Ubuntu. Entonces estas son las versiones
disponibles. Puedes ver, estas son versiones
disponibles. Entonces voy a dejar este enlace,
mira este enlace. Voy a dejar este enlace, ¿verdad? Estos enlaces. Entonces dejaría
este enlace para ustedes chicos. Déjame pegarlo
en mi archivo o colocarlo en la
sección de recursos para que ustedes realmente
puedan venir todos
los enlaces que obtengan, que en realidad
usamos para navegar. Entonces ya ves puedes
especificar Linux. Se puede usar un entorno Windows,
un entorno Windows. Si tu trabajo ver correr
requiere un windows. Digamos que en realidad quieres algún comando que
en realidad vamos a poder biz o MAC. Así que define
lo que quieras. Entonces voy a estar usando y Ubuntu,
voy a usar letras de Ubuntu. Dice, Ubuntu actualmente usa la imagen Upunt 22 oh
four Runner, que es exactamente lo que estoy usando Entonces esto está bien. Esto es lo que
voy a usar. Esto es suficiente para que hagamos
lo que queremos hacer. Creo que he
podido precisar. No quiero sobre
azotar este tema para que ustedes siempre
me puedan llamar Voy a compartir el enlace Muy bien, vamos aquí. Ahora, en realidad he dicho que voy a estar
usando Ubuno más reciente Ahora lo siguiente es
lo siguiente es, ¿qué pasa el entorno que voy a estar usando el entorno
que voy a estar usando Recuerden, no necesito definir definiendo solo este
entorno. Dentro de este trabajo, que
se ejecutará en Ubuntu. Dentro de este entorno virtual Ubuntevery todos estos entornos para estar disponibles por defecto Necesito que lo tengas en mente. Todo lo disponible todo estará disponible por defecto. Ahora bien, dicho esto, la siguiente pregunta es, ¿qué es
lo siguiente que quieres hacer? Ahora tenemos este ambiente.
Quiero obtener mi código. ¿Cómo obtengo mi código? Pero sin embargo,
¿cómo procedes siquiera? El siguiente bit para proceder es
que ahora tienes dentro de un trabajo, decir acción, cuáles son los
pasos que debes realizar. Espero que me encantaría que ustedes vean esto
para que esto pueda quedarse. ¿Cuáles son las acciones que
quieres realizar? La acción que quieras
realizar con esto se puede etiquetar como pasos. En cada paso que tengas,
puedes tener varios pasos. Meme puedes tener un trabajo. Tienes varios trabajos que hacen varias cosas. Por defecto. Por defecto, cada trabajo
se ejecuta en paralelo. Creo que tengo que mencionarlo. Por la documentación de voculy, cada trabajo corre en paralelo Si quieres que sea secuencial, necesitas
decir realmente y hay una
manera de decirlo. Les voy a mostrar
en un poco cómo es. Cuando lleguemos a la sección
push Im, te
mostraré cómo se
ejecutan los trabajos secuencialmente porque el push IM
dependerá del trabajo de la sección de bits. Tenemos que decir el
paso que queremos seguir y cada paso debe tener un nombre. Bien, lo que quiero
hacer quiero que me enfríe. Vamos a conseguir el frío,
a la fuente fría. Yo lo llamaré obtener fuente fría. Bien. Entonces tenemos algo
hermoso aquí, ¿verdad? Aquí tenemos algo
hermoso. Entonces, ¿cómo lo consigo? Ahora, sin siquiera proceder, hemos cubierto bastante
aquí, ¿verdad? Hemos cubierto bastante,
pero no he hecho nada. Entonces porque
no hemos hecho nada, no
quiero que
sea demasiado complejo. Vamos a empujar esto,
¿verdad? Vamos a empujar esto a Github, y
veamos cómo fue. Todo lo que necesitas hacer es
simplemente empujar este archivo. Una vez que empujes esto, esto
entrará en acción de inmediato. Entonces, cualquier cambio que ocurra en el impulso en realidad
atenderá esto. Así que estoy llamando a este código fuente de
invitado, sino más bien, déjame
imprimir algo. Digamos que imprima algo. Entonces tu paso podría ser cualquier cosa.
Yo sólo imprimo algo. Voy a llamar a esto
voy a decir que nos vendría bien una carrera ahí está este comando
run. Ejecuto comando. Está disponible en
la sección de pasos. Solo revisa la sección de pasos,
de hecho la encuentro. Voy a exhibirlo en un poco, pero vamos a hacer esto
rápidamente. Voy a hacer eco. Hagamos
eco de otra cosa. Hagamos eco de algo.
Voy a decir, Hey módulos estoy
ejecutando algo. Estoy imprimiendo
algo. Algo. Y eso es todo lo que
quiero hacer. Dicho esto, en realidad
demos nuestra acción. Vamos a crear un problema para que podamos
rastrear esto, ¿verdad? Diré que comienza la acción o
simplemente llamarlo pipeline. Vamos a llamarlo
gasoducto, ¿verdad? Tubería de tubería uno. De hecho, podríamos seguir uno
tras otro. Voy a conmutar esto con
este pipeline un mensaje. Ven aquí compromete un CM está aquí, luego cierra, ¿qué cierra? 20. Entonces esto es 20. Bien, así que vamos a empujar esto
y veamos que funciona, luego volveremos a
ver a Catali explorar
algunas características más Pero esto es lo
primero. Creo que es un buen lugar
para detener el video. Entonces vamos a empujar esto. Voy a permitir
rápidamente esta carrera. Entonces vayamos a mi
acción adelante. ¿Un push está completo? Sí, mi empuje está completo,
vamos a saltar rápido aquí. Ahora, como pueden
ver, vamos a refrescarnos. ¿Puedes ver? Ves que acaba de
reventar de repente No había nada bajo acciones antes que no fuera lo que hiciste. Deberíamos simplemente elegir un valor por defecto. Pero como
lo etiquetamos de la manera que lo hicimos, esto ya
se ha dado cuenta de que acabamos de empujar los
commits con este nombre, y si lo
abres, puedes ver reconoce un archivo,
que es un archivo de despliegue. Se podía ver que solo establecemos
la sección pero solos. Si tu mas una
sección pero, ¿qué vemos? Establece un trabajo para
ti automáticamente. ¿Ves? Ahora, ¿ corres cuál es tu
sistema de putting? ¿Puedo ver Ubuntu? Y eso es exactamente
lo que usas. Esa es la imagen del corredor, ¿verdad? Y no te preocupes por esto. Estos son todos los
permisos que arma
al medio ambiente para que sea
ejecutar la acción es
automática, ¿verdad? Entonces, aunque no
totalmente automático, hay algunas
cosas complejas a su alrededor,
pero no creo que sea
relevante para este caso. Bien, ¿lo ves? Yo solo dije que deberías
correr esto y ver, oye, oye, muda, estoy
manejando algo Y porque
no hay nada más
, dirige el trabajo y
tiene éxito. Vamos, chicos, este
es un buen hito. Los veré chicos
en el siguiente video.
6. Variable de impresión: Hola, chicos, Z aquí. Somos capaces de correr y
hacer lo primero ejecutando esto y
las cosas se están perfilando. Creo que estás de acuerdo que
las cosas se están perfilando. Ahora, volviendo a nuestros
detalles, tenemos esto. Queremos empujar el código. Queremos empujar el código, en realidad
empujamos
el código, así que no lo hacemos. Por aquí, creo que
me perdí un paso y el paso debería ser
que necesitamos sacar el código, llamémoslo pull code porque el código push
es la acción que hacemos. El código pull es lo que hará
la acción Git, que es el comando,
la acción Git para tirar el código al
entorno, llamarlo acción pull. Creo que esto es código pull o creo que esto es en realidad
más esto es mejor. Volvamos a nuestro expediente. O. Creo que alguien podría decir, pero usted acaba de
imprimir algo. ¿No podemos hacer algo más asombroso que no
sea simplemente imprimir? Bien. Entonces, ¿por qué no
intentas tirar del ambiente,
poner los detalles en
el ambiente? poner los detalles en
el ambiente Ahora, ¿cómo se tira? ¿Cómo se ponen los detalles
en el medio ambiente? Pon los detalles en
el entorno, quieres usar básicamente
quieres tirar del ambiente. Tienes la acción EMV, que está
disponible automáticamente para ti, porque está disponible para ti, entonces
puedes tirar de eso Entonces, en realidad denotas usar esto usando un signo de $1 para
aquellos que están bien llamemos a esto,
tienes que llamarlo así que solo digamos programa digamos presentadores del programa, ¿verdad
? Mostrar archivo de anfitriones. Muestro presentador EAV. Muéstranos el entorno.
Variable de entorno. Creo que va a estar bien.
Variable de entorno. Sólo quiero mostrarles
esto también funciona bien. Variable. Sólo tú lejos. Así que en realidad funcionaría, y hagamos eco de algo.
Hagámoslo eco. Entonces lo llamaré así que usa interpolación de
cadenas. Luego colóquelo en el medio. Entonces llamémoslo E y V. Entonces, ¿cuál es el nombre? ¿Cuál es el nombre?
Comprobemos el nombre. Comprobemos el nombre que usamos. Entraré aquí, revisaré
mis ambientes, abriré esto, recogeré uno de ellos. Escojamos uno de
ellos. Eso sí, ni
siquiera intentes iniciar sesión en esto. Esto no se mostrará porque
se supone que no se debe mostrar. Si intentas registrarlo o
intentas hacerlo, no se mostrará. Ya hay una regla en
contra si intentas hacer eco de esto, esto ni siquiera va a funcionar.
Entonces ni siquiera lo intentamos. Solo escojamos a este tipo. ¿Correcto? Así que vuelve aquí. De hecho tengo esto
en realidad stat fuera. Entonces, en realidad, G Actions utiliza un
doble mensajero doble Cali. Así es como Get Actions
realmente lo usa. Entonces va a
ser doble, ¿verdad? ¿Qué está volteando aquí?
Reemplazar con un posicionador. ¿Qué es esto? Bien, no, creo que es justo. Simplemente está bien. Creo que esto es Inteligente dándome
éste pero esto está bien. Bien, entonces veamos que
esto funciona, ¿verdad? Chicos, veamos si esto funciona. Entonces yo lo haría
hagamos reducción. Voy a
llamarlo ducto dos. Cerrar esto al parecer
debería ser 21 21. Lo llamaré pipeline dos, variable de entorno de
impresión.
Eso lo vamos a hacer. Bien. Así que vamos aquí. Vamos a crear otro tema. Vamos a crear otro número
y este número se llamará Prince inn V Variable. Vamos a llamarlo pipeline. Sabemos lo que estamos haciendo pipeline, variable de
entorno de impresión. Hagamos esto. Esto será 21. Eso es 221. S de 21, mirada
aiable a cómo lo
deletreé. Variable. Cerrar 21. Ahora bien,
¿qué lo deletreé esto? Imprimir ¿Qué estaba
tratando de deletrearlo? ¿Entorno de impresión?
Creo que Columbia hizo esto. Para que puedas enmendar con Git
commits, da dash amend. Entonces eso modificaría
tus commits. Bien, entonces algunos de los cambios, así que imprimir no imprimir imprimir, ¿de acuerdo? Para que pueda salvar esto. Bien,
entonces haz Git push Bien, así que mientras
esto entra, así que vayamos a los caminos, y vayamos a nuestras acciones Verás, esto ha
saltado, ¿verdad? Vamos a entrar. ¿Bien?
¿Esto pasa? ¿Esto falla o C?
Así que sólo puedo entrar. Al parecer, pasó.
A ver, ¿apunta? No se señaló nada.
Muestra eco. Déjame ver. Volvamos aquí. Traté de ejecutar esto diciendo,
mostrar variable de entorno. Cuál quería
pero esto no
funcionó y por qué no corriste? A ver. A
ver, vamos a escuchar. Donde así especifico
el entorno de acción. Estoy diciendo que imprima a este tipo,
pero esto no está funcionando. Cuando revisamos este lugar, revisa a este tipo,
trató de mostrarlo, pero ni siquiera lo está
reconociendo. Debe haber algo, debe
haber un detalle, debe haber un detalle. Prácticamente podrías
simplemente
saltar rápidamente a la configuración. Permítanme hacer una pausa en este video y hecho volver con ustedes. Bien, chicos,
leyendo la documentación, estoy viendo si están
usando un ejecutor de Linux, en realidad no necesitan agregar esto. Entonces vas a
probarlo, ¿verdad? No es necesario agregar esto. Simplemente puedes usarlo
directamente, ¿verdad? Entonces puedo llamarlo
trator ActraTorrePoints. Puntos finales del atractor. Solo queremos ver los extremos
del actuador. Pero dice que también podrías usar porque es
la documentación, esta comprobando documentación.
Esto es variable. Es decir,
además de runner, get actions permite
leer o establecer valores clave,
entorno, variables
y contenidos están pensados para su uso
en diferentes puntos. Entonces dice, por ejemplo, solo este nombre para Basell
que está en el ejecutor de Linux, que estás usando el nombre de
columna ENV para En un corredor de Windows.
En la mayoría de los casos, también
podrías usar el contexto. Dice solo usa
contexto, propiedad de punto. Asumo que esto es
contexto. Ese es el contexto. Puntos el nombre al que
realmente queremos acceder. Vamos a imprimir esto para
ver cómo funciona realmente. Hagamos esto. Yo no cambié nada,
así que solo empujo esto
al lado de lo mismo. Simplemente lo cometo contra el
mismo nombre esta vez, pero no voy a agregar ningún comentario. No agregar ningún compromiso ningún
ID. Vamos a empujar esto. Así que vamos a empujar.
Veamos cómo funcionan estos. ¿Es bueno
imprimirlo o averiguarlo? Entonces es corredor y va a acciones.
Sí, esto se está ejecutando. Entonces, ¿vamos a ver qué
pasa? Vamos a ver esto. El trabajo está iniciando. Bien, vamos a ver. Bien. Ejecutar
eco, mismo trato endpoints Muestra esto, pero
aún me falta esta parte, todavía me falta esta parte. Voy a ejecutarlo de
nuevo y ver exactamente. Lo voy a ejecutar en el
trato antes de volver para asegurarme de que funcione, luego
me pondré en contacto con ustedes. Aquí, chicos. Entonces habiendo hecho
un poco de investigación. Descubrí que
en realidad estaba mezclando las cosas. Entonces lo
que se supone que debemos tener es decir que tenemos un entorno en el
que declaramos el entorno heredado algún
entorno y establecemos esto a alguna variable o
simplemente lo llamamos tal vez algunos datos. Algunos datos. Ahora esto está disponible
a nivel de empleo. Vamos a hacer esto y voy a
explicar qué significa el nivel de trabajo. Ambiente de nivel laboral, todo
el entorno y nivel de paso. De hecho, podemos saber exactamente
cómo usar esto realmente. Si quieres valorar esto, te
diré algunos datos. Algunos datos pueden ser evaluados con esto se pueden
evaluar con esto. ENV. Entonces aquí es donde usamos
este EV luego dos S, ¿verdad? Suma. Bien. Entonces, para
el punto final del actu, usamos la palabra clave verso Así que lo estaba fastidiando.
Usa la palabra clave verso. Creo que esto es un trito
¿cuál es el nombre de nuevo? Déjame revisar mis notas.
Actuador, punto final expuesto. Bien. Punto final de ActuatoRepose Entonces esto
podrá imprimir esto
mientras esto imprimirá lo que guardamos en la oración, ¿verdad? Esto realmente lo
imprimirá . Bien, vamos a
probar esto. Vamos a probar esto.
Vamos a probar esto. Bien, vamos a empujar. Todo bien. Bien, esto ha pasado, así que vamos a revisar nuestro worksho Esto no es fallar. Sólo ejecuta esto de nuevo así que es un
disparador, esto no es fallar. Esta genial, comenzando. Logró,
veamos qué pasó. Todo bien. Comprobemos la sección.
Imprimimos algo. Bien. Eso es lo que hemos hecho antes. Bien, ¿lo ves? Pude obtener esto lo que
establecíamos para la salud y
esto y esto
también fue posible y algunos
datos, obtuvimos algunos datos. Todo bien. Entonces este
es el espectáculo desfilado Ahora tenemos una buena
comprensión de cómo funciona. Yo mismo lo estaba mezclando. Este video ya es muy largo. Volvamos el siguiente
video y explicaré cómo funciona el ambiente
y pondré acción. Los veo en el siguiente video.
7. Print env para todos los niveles: Hola a todos. Z aquí.
Bien, entonces estamos de vuelta aquí. Hablemos de la impresión. Hablemos de medio ambiente. Ahora, podríamos tener
una ENV aquí, ¿verdad? Tenemos una ENV aquí, ambiente aquí,
y tenemos ENV laboral Vamos a llamarlo, vamos
a darle algún nombre. Ahora bien, esto es un JobYNV. decir, este entorno está disponible para que todos los trabajos
definan estar disponibles dentro. Voy a probarlo,
así que voy a venir aquí. Voy a hacer nombre. Diré imprimir, imprimir JobInv. Yo sí voy a correr. Voy a hacer eco. Trabajo ENV. ¿Qué es Jab ENV? Bien. Así que sólo voy a elegir esto. No hagas esto en casa.
No copiar y pegar. Bien. Bien,
entonces tenemos esto. Bien, digamos que
activamos esta sección, voy a tener un paso que corre. Vamos a tener un paso que correr, y este paso queremos correr. Vamos a co. Entonces esto nos estará
esperando a qué ambiente
quieres construir. Así que vamos a correr en
Ubunzu también, ¿de acuerdo? Vamos a correr en Ubunzu. Así que vamos a imprimir esto también, ¿verdad?
Vamos a imprimir esto. Estos son totalmente
yo también uso esto para demostrarnos que este trabajo en
realidad se ejecuta en paralelo. ¿Ves que esto va a correr sin
siquiera esperar esto? Así que vamos a tener que querer
probar este entorno. Ahora, hemos podido
probar el nivel de trabajo, correcto, y
podemos probarlo. Entonces vamos a entrar y ver exactamente cómo se desarrolla esto, ¿verdad? Entonces también quiero mostrarnos que
hay un ambiente de nivel de paso.
Es un nivel escalonado. Es nivel de paso, ENV. Estoy seguro que ustedes
se están dando la idea de cómo funciona esto ahora. Vamos a llamarlo paso ENV. Envidia. Ustedes pueden tener
una idea de cómo funciona esto. ¿Bien? Voy a venir aquí. Yo sólo voy a Paso
ENV. Yo proceso aquí. Yo bien. Entonces pon esto. Quiero mostrar el nivel laboral,
el nivel de paso y para que veas que
todo está disponible. Este nivel de paso
no puede ser accesible aquí porque está dentro de este. Solo el nivel laboral será
accesible en todos los empleos. El nivel de trabajo aquí será
accesible en todos estos pasos mientras que el nivel de paso es accesible dentro de los
escalones. Vamos a ejecutar esto. Vamos a ejecutar esto. Bien. Déjenme
darle un nombre mejor. Vamos a darle un mejor nombre. Vamos a modificarlo. Vamos a modificarlo. El código está imprimiendo
mvable todos los niveles. Tenemos esto. Vamos a todos los niveles cierra eso
debería ser tránsito creo. Déjame copiar este nombre. Et va al tema de la juke. Nuevo número, este ahorro. Bien, así que vamos a guardar este 22. Así que guarda esto. Bien,
así que vamos a empujar Bien, entonces esto está
pasando ahora mismo está pasando vamos a saltar
aquí. Tomemos nuestra acción. Abriendo como no
tenemos ningún error de sintaxis. Ahora bien, puede ver que esto se está ejecutando independientemente de esto.
Es un dependiente. Ves una flecha. Entonces
es independiente. Te mostré que
los trabajos corren paralelos. Entonces, por defecto, están
corriendo en paralelo. Entonces abramos a este tipo.
¿Eso es una acción de empuje? Puedo ver, somos capaces de
imprimir el ambiente laboral, que es SSSS eso es exactamente
lo que realmente decimos aquí Veo SSSS que está funcionando. Echemos un vistazo a este
que tiene el nivel de trabajo en la EMV para que podamos validar que el nivel de trabajo realmente imprime Entonces iré a la sección Pero. Pero serie de sección. ¿Ves que tenemos esto hecho antes de que creemos trabajo aquí ¿Puedes ver el nivel de paso SSSS? Todo esto he podido mostrarles
a ustedes cómo imprimir
realmente para todos los niveles. Creo que ya es bastante bueno. Ahora mismo, voy a hacer algo de
limpieza entonces en
realidad entraríamos en
sacar el código Los veré chicos
en el siguiente video.
8. Acciones personalizadas en canalizaciones: Oigan, todos. Z aquí. De hecho fuimos a la
última sesión para
imprimir realmente entornos en todos los niveles, en
realidad hicimos esto. Entonces no sacamos
esta buena sección. Cambiemos en esta parte. Cambiemos esto para que
podamos dejar esto. Recuerden,
les mostré en la última sección que los trabajos en realidad
funcionan en paralelo. De hecho, podríamos dejar esto aquí y
probablemente llamarlo sección de trabajo de
muestra y simplemente
llamarlo sección de trabajo Sam. Entonces podemos entrar aquí y luego dejar el que necesitamos
para este proyecto, ¿verdad? Entonces lo llamaré pero sí, llamémoslo una sección
Pero Pero soltar. Y esto funciona. Recuerda, tu
nombre depende totalmente de ti. Entonces podría elegir esto
porque necesitamos esto, ¿verdad? Bien. Entonces eso no va a detallar realmente
el paso que necesitamos. Bien, este paso
probablemente necesite ahora mismo, lo que necesitamos ahora mismo es
obtener el código, ¿verdad? Y cuando queremos
obtener el código, en realidad
podríamos hacer
algo como esto, ¿verdad? Hacemos un git checkout, entonces probablemente queramos
tirar o hacemos un clon de Git, luego ponemos esta URL completa para obtener
realmente lo que necesitamos. Pero esto es que
básicamente ahora estamos tratando de conseguir más allá de la seguridad, tratar de ver si este entrenamiento
es evitar esta complejidad, es por eso
que Git realmente creó cosas llamadas ya estamos
creadas acciones para ti, acciones que ya
para hacer este trabajo. Entonces básicamente son
exactamente lo mismo que esto. Básicamente exactamente lo
mismo que esto. Sin embargo, se han
compilado donde
solo puedes usarlo sobre la marcha
para realizar una acción. Y uno de ellos es el código Get. Entonces, si tuvieras que explorar, si miras esto detenidamente, es como Git action
se llama Git action marketplace. Entonces Git action marketplace, tienes todo, algunas de
las principales cosas que necesitas. Tomemos, por ejemplo,
que desea interactuar con AWS. Seguro que aquí encuentras cosas
relacionadas con EWS. Si miras esto detenidamente, ya ves, este es un administrador
secreto para AWS. Si quieres configurar alguna CLI, si realmente bajas un poco Hacen muchas
paradas, muchas paradas. Estoy seguro de que si también
tienes algo en AshiCop eso es Ash Cov
volt Ash Cov volte Taza cenicienta, mira. Acabo de motear otra vez.
El hashi, Hashikup Entonces ya ves, tenemos cosas
en HashikUp sobre cómo interactuar con Tashi cup vs
fuertemente Entonces esto realmente funciona. Interactúan todas las
cosas, ¿verdad? Entonces básicamente, esa es la idea. Entonces lo que estamos viendo hoy, mientras buscaba alrededor,
descubrí que también
tenemos la caja. Entonces, cuando veas esta garrapata azul, simplemente
significa que esto
ha sido verificado. Eso no dice que
los otros no estén verificados. Bueno, simplemente significa que realmente
no han sido más fáciles de verificar. Mi para entrar a revisar el código para ver si
es exactamente lo que necesitas y si no expone ninguna forma de tu detalle. Para
ello, vamos a estar necesitando esto. Ahora, me voy a apegar a las cosas que
tenemos tengo esta garrapata
azul excepto tal vez explorando algunas
otras cosas que
podríamos ver más tarde.
Vamos a entrar aquí, ¿verdad? ¿Qué hace esto? Dice, Esta acción echa un vistazo a tu depositario bajo el espacio de trabajo de
Gitub Ahora, si estás
familiarizado con Jenkins,
Jenkins también tiene una característica
llamada espacio de trabajo donde es un entorno vectual
donde ejecuta tu código,
administra todo tu artefacto Lo mismo con esto.
Ahora bien, qué pasa si no te
interesa que
quieras tirar también clonas
otro otro check out otro repositorio dentro que sea diferente al que
estás trabajando actualmente. Por eso tienes este
otro parámetro que es el w. te
proporciona un repositorio. Una vez que proporcione,
debe proporcionar el positre para check
out en check into Ahora, a veces podrías
estar necesitando el
token Git para acceder a algún repositorio. Por eso también necesitas esto. Es un token ya
disponible para ti. A veces necesito la clave
SSH, la clave SSH. Yo personalmente uso
claves SSH ambos trabajos, clave
H para conectarme a todos mis detalles
de Github ¿Cómo es el uso? Muy sencillo.
Vamos a bajar. Un simple como esto.
Sólo cogerlo. Solo usar esto solo es suficiente para nosotros. No
necesitamos nada extra. Esto no significa inventarlo. Simplemente puedes revisar
a través de lo que necesites. Voy a entrar aquí. Todo bien. ¿Recuerdas que la palabra clave es qué? Usos. No quiero decir este manual Mark. Usos, ¿verdad? Y cuando uso la palabra usa, entonces solo necesito seguir exactamente lo
mismo que ellos hicieron. Que es checkout.
Checkout luego pregunta V cuatro. Esto es básicamente una necesidad
ligera, ¿verdad? Esto básicamente ligero.
Y esto establece. Qué significa este tipo quejándose para conectarse
a tu git Esto básicamente l, así que no
creo que necesite un extra De hecho nos enteramos y bacalao. Ahora, recuerda un diagrama,
sacamos el código. Ahora queremos configurar
un entorno virtual, queremos configurar el Mv
configuramos nuestro Java Mv
en y dependencias. Ahora, alguien ya se adelantó para hacer también
todo esto por nosotros. No tenemos que
preocuparnos por todo esto lo que nos
lleva a esta
acción acción personalizada, que es la configuración Java GDK Lo genial de
esta configuración Java JDK, cuando me enteré
es esto, si bajas, mira la especificación En realidad funciona para ambos. Está dirigido hacia el grado dos y también dirigido a
Maven, que simplemente hace que
todo sea increíble para nosotros. Es título hacia Dios
y hacia Maven. Entonces te aconseja que
realmente uses el checkout primero que nada, que
es uno que acabamos de usar Entonces al mismo tiempo, entonces te
metes y usas este en
particular. Esto es exactamente
lo que estamos usando. Realmente no lo hago de todos modos, no
tengo ningún problema
con la distribución de mí. Yo solo personalmente prefiero
usar Coreto Amazon Coreto. Seguro que lo
conoces. Tenemos varias distribuciones. Si subimos, tienes
los que podrías usar. Tienes Tamarin Zurupt
adopta entonces yo prefiero Coreto,
usa el que
creas que es mejor para ti Entonces en cuanto a la versión, la versión también afirma
que podrías usar 811-16-7201 Puedes ver cual es la versión
Java aquí. Solo entremos
y arreglemos eso. Vamos a establecer eso. Lo que yo haría ir aquí. Voy a llamar a esta configuración configuración JDK, 21 Recuerda que usamos 21 para nuestro proyecto entonces estamos
usando la acción. La palabra clave es
acciones, no acción. Acciones. Acciones, luego configurar. Java, en
realidad no necesito meter este. No necesito
simplemente entrar y
copiarlo exactamente porque
como tus lecciones. Entonces solo copia todo esto. Sí. Evita errores. Yo sólo vengo
aquí y eso lo fija. Entonces, ¿cuáles son los otros
detalles que necesito? Entonces, ¿cuáles son los otros
detalles que necesito? Entonces, si
revisas correctamente, recuerda, tienes que indicar la
versión que usas. Ahí es donde viene la palabra clave
with. Te dije que la palabra clave with
es cuando quieres
establecer parámetros adicionales, ¿verdad? Entonces estoy usando una distribución. Verás, hay una distribución. Y la distribución
que estamos usando es Coret. No tienes que recordar
que no tienes que meter esto. Sólo puedes volver a entrar yo solo lo escojo. Estoy interesado en Koreto. Yo sólo vuelvo a Coretto. Sí, solo vuelve a Coretto. Entonces versión Java, ¿ves? Ya está disponible aquí. Por eso me encanta usar los plugins que solo me
ayudan con todo esto. Entonces estoy usando 21. Entonces quiero algo
llamado cache. Este cache, quiero
que sea maven. Vamos a averiguarlo. Veamos exactamente
qué hace eso. Bien. Entonces puedes ver, dices esta configuración de acciones
setup Java action proporciona las siguientes funcionalidades
y ejecutas, ¿ves? Hay una
dependencia del almacenamiento en caché manejada por Apache Mavin que es una de las razones por las que me
encanta esto, Bajemos a esto. Verá que este caché dice, el almacenamiento en caché de configuración
rápida para la dependencia se
administra a través
de uno de los administradores de paquetes predefinidos Puede ser uno de Maven,
gradual y SVT. Esto ya
hará mucho trabajo. Entonces, lo que también construimos una vez y realmente guarda nuestro caso, cuando volvemos a ejecutar el mismo trabajo, hay una clave que
se asigna automáticamente. No tenemos que preocuparnos por
todos esos detalles de integridad. Eso se maneja. No importa
lo que hagamos es cache. Tenemos que almacenar en caché manualmente, darle la clave, luego
recuperar la clave. Si es esa clave,
usamos una palabra clave. Si es esa clave, entonces no
debería almacenar en caché. Si no es clave, se
debe construir. Pero esto es solo nos
prepara esto. Una de las
cosas chulas de esto, si tuvieras que
bajar un poco, esto
es si revisas esto. También te da
algunos detalles extra. Veamos la
palabra clave que se está utilizando. Lo que me gusta hacer
es
simplemente buscar dentro de este centro y buscar la palabra clave catch. Entonces eso nos da
algo bueno. Ahora mira esto. Dice acción Buting para
caché restaurando dependencia. ¿Ves? Restauración de cacher Utiliza dos kits de caché
debajo del capó. Para caché en dependencia, bog requiere menos configuración
y ajustes Esto es exactamente
lo que estoy buscando. Quería
mostrarles que hay
otra acción más que
se llama debajo. Sin embargo, es una buena manera de
ver realmente cómo funciona esto. Tal esto lo llaman caché. Caché. Entonces existe esta función de
caché, ¿verdad? Eso también está disponible que
podrías usar manualmente, ¿verdad? Pero no tienes que
preocuparte por la llave. Ahí está esta clave
que tienes que usar para la caché, entonces tienes que restaurar hay bastante configuración. Así que siempre te recomendaría ir a buscar las
cosas clave que necesitas tú mismo. No tienes que hacer
estas cosas manualmente, verdad? Busca la acción. El único momento si la
acción no está disponible, sabes que tienes que hacer
las cosas paso a paso. Si tienes una historia de búsqueda no puedes encontrar ninguna acción,
es muy simple. Solo busca
lo más cercano que quieras
hacer que probablemente haga una o dos cosas
que quieras hacer, uno o dos pasos que
quieras llevar a cabo, luego define tu
paso uno tras otro que simplemente te ahorra
mucho estrés. Lo que voy a hacer,
volvamos en el siguiente video. Veamos esto
y sigamos paso a paso
el archivo para ver
cómo funciona esto realmente. Los veré chicos
en el siguiente video.
9. Elimina el proceso de composición en Spring Boot Docker y omite la prueba: Oigan, todos. Z
aquí. Todo bien. Así que en realidad hemos podido
detallar g acciones. Trabajamos en esto,
realmente podemos cambiar el nombre, cambiamos esta cosa, luego configuramos esta sesión. No hemos terminado con
esto, sin embargo, veamos qué va
a pasar con esto. Quiero que podamos
confirmar que esto realmente está funcionando como debería y no
tenemos ningún
error proceder. Esto nos dará una
buena idea de lo que se
ha hecho y lo que se
ha generado, verdad? Vamos a probarlo. Ese es el objetivo de este video. He seguido adelante para crear
un problema. Crear un problema. Entonces, vamos a comprometernos en contra de
este tema. Entonces nos comprometemos. Bien, entonces voy a empujar esto, entonces veremos nuestra acción
pateando. Todo bien. Entonces volvamos a la acción. Vamos a las acciones. Bien, así que esto viene. Así que vamos a seguirlo. Recuerda, esto es lo que
hemos declarado esto, todo va en
paralelo tal como es, ¿verdad? Estoy más
preocupado por esto pero sección para ver si las cosas realmente
funcionan, así que voy a entrar. Bien, así que esto se completa. No obtuvimos ningún error. Oh, buen trabajo. Buen trabajo. Número uno, consigue el código. ¿Pudimos conseguirlo con
bastante éxito? Vamos a confirmar. Por lo
que revisamos correctamente. ¿Qué podemos ver aquí? Comprobamos correctamente. Entonces esto fue capaz de hacer todo lo que
queríamos hacer. Entonces esto no nos
da ningún error. Entonces significa que nuestro
código está básicamente revisado correctamente, ¿verdad? ¿Estamos seguros? Probablemente nos
gustaría iniciar sesión para estar seguros. Pero antes de eso, la mejor manera de confirmar esto realmente,
vamos
a comprobar vamos a
comprobar la configuración JDK Así se puede ver que
en realidad ejecutar esto. En realidad escogió a este
tipo donde está en Java 21. Impresionante. Entonces vamos a hacer
caché con Maven Impresionante. Entonces la configuración posterior, esta es la configuración posterior,
esto es solo una limpieza digamos error de parte especificar
parte y ningún caso No hay caso. Al parecer, no
hay caso, hay Razón porque
no ejecutamos ningún comando de movimiento. No ejecutó ningún comando de movimiento. Eso es
algo hermoso que vamos a hacer en este video actual. Ahora nos hemos asegurado de que
no haya ningún error que realmente surja. Entonces, procedamos. ¿Qué es lo
siguiente que quieres hacer? Lo siguiente que quiero hacer es salida a alguna información. Vamos a sacar algo de información. Llamemos a esta salida Info. Sólo llámalo pot info, y
yo sólo voy a correr. Sólo voy a
ejecutar un comando LS. Eso es todo lo que voy a hacer. Voy a ejecutar un comando LS. Y si estás
familiarizado, ya sabes, LS básicamente ejecutaría
todo lo
que necesita ser que
realmente necesita salir. Así podremos
ver todo en la carpeta raíz y ver si las cosas realmente se
desarrollan correctamente. Entonces voy a dar un paso
en un paso más. Cuanto menos tengan esto, menos construir con Maven Al parecer, estamos construyendo
con Maven, ¿verdad? Entonces porque estás
construyendo con Maven, esta configuración reconocerá
que estamos construyendo con Maven y captará los detalles
porque reconoces, estás construyendo Maven, increíble,
déjame guardarlo en caché Eso va a
atrapar el jalar de nuestras dependencias
y los gustos ¿Cuál es el comando
que vamos a hacer? Vamos a usar los
comandos plain que conocemos. Eso será paquete limpio VN, luego D, botas de primavera, puntos corren perfiles de puntos. Así es como correr el resorte
contra un perfil en particular. Ya nos dimos cuenta de
cómo conseguir nuestro perfil, que son los puntos del jarrón. Recuerda que alguna vez lo hicimos. En realidad usamos el jarrón. Esta vez es perfil de primavera. Recuerda que conseguimos este perfil
primaveral. Recuerda esto, vamos. Si revisas a este tipo, nosotros revisamos a este tipo,
ve a nuestra configuración. Entonces si revisas
nuestro entorno, entonces recuerda la acción,
configuramos el perfil de resorte,
que es acción. Ahora vamos a darle una patada a esto. Voy a hacer esto y
ver exactamente qué pasó. De hecho, supongo que ya soy lo suficientemente
mensajera. Hagamos
otra cosa. Voy a hacer vamos a enumerar los archivos. Si esto realmente
pero con éxito, debería poder evaluar
una carpeta llamada LS targets. Ya sabes, así es como funciona en objetivos para Mavings a But file,
es una carpeta But,
perdón por G But carpeta,
pero para Mavings Quiero imprimir todo
dentro de esta carpeta de destino. Entonces, sigamos adelante
y probemos esto. Vamos a crear un problema.
Vamos a crear un problema. Voy a llamarlo
voy a llamarlo ducto, solo para estar seguros de que
todavía estamos en la tubería, luego construimos casarme conmigo hombre. Creo que esto es genial.
Sí, está bien. Entonces, ¿puedo decir que esto
es una mejora? Sí. No usé
esto todo cierto, solo
pensé que
debería agregarlo solo mejora.
Eso se puede hacer. Entonces copia esto entonces
solo me comprometo en contra de esto. Después cierra. Entonces, si
todo funciona a la perfección, deberíamos ver a nuestro
maven en caché, Si ves que las cosas se atrapan son
las cosas que funcionan correctamente. Entonces, se pone empuje. Voy a conseguir push push. Bien, así que vamos a saltar aquí. Voy a saltar, así voy a
ir a mis acciones. Ir a mi gasoducto.
Bien, recuerden que estamos
preocupados por esto. Sí. Esta parte. Bien, así
son las cosas. Las cosas están funcionando. Ahora estoy en la
sección de bits. Entonces, ¿puedes ver? Se trata de dependencias de ply.
Esto se puede ver. Esto es increíble.
Esto es increíble. Ahora bien, esto siempre es muy grande, así que quizás no puedas
correr con ella con él. Entonces, lo que suelo
hacer lo acabo de ver ahora, es construir los datos, todo lo que estamos esperando, o algo está fallando. Impresionante. Algo está fallando. Ahora, ya ves que fue
capaz de jalar para tirar. Y esto de verdad corre ¿ves? Un perfil es en realidad lo
conseguí correctamente. No, pero algo anda mal. F ahora se llama la forma en que el Blanco estaba
tratando entonces de tirar de esto.
Le falta algo. Le falta algo,
no puede encontrar ¿qué es? Un repositorio de respuesta
punto de inicio de sesión, denegado. Esto está bien en cierto modo. ver ¿qué más nos falta? ¿Qué más
nos falta? Veamos este informe de
evaluación. Solo queremos ver
cuál es el problema, qué podríamos tener,
y veamos esto. Recuerda que estamos ejecutando entorno
virtual ahora hay que ser muy detallado al mirar los registros para ver qué
podría haber salido mal ¿Qué podría haber salido
mal? Yo lo estoy viendo. Bien. Entonces tenemos inicio de sesión de Docker No me interesa iniciar sesión
en Docker. ¿Bien? Por qué
no existe Repositorio. Ver, el repositorio no existe o puede requerir el inicio de sesión de
Docker, ¿de acuerdo? Ahora, vamos a comprobar que somos archivo. Comprobemos
Comprobemos este archivo. Comprobemos esto.
Vamos a ver esto. Si nos fijamos en nuestro
archivo de redacción, este es nuestro problema. ¿Ustedes están al tanto?
Este es nuestro tema. Ahora, ejecutando esto,
aquí es donde entra en juego el tema. Ya seguimos adelante para definir esto y si eres lo suficientemente
particular, si miras
lo suficientemente en particular, mira esto. Tenemos las
botas de primavera docker componen. Ahora bien, esta primavera
botas Docker componer está tratando de evaluar un ambiente
Docker, que no brindamos No sé si eso
tiene sentido. Estamos tratando de ejecutar entorno
decker, que no brindamos Al parecer, esto se romperá. Entiendes que esto se romperá. ¿Cuál es la manera ideal para que realmente
nos mudemos? La forma ideal si pretendemos, recuerden, estamos tratando de
construir para la producción ahora. El compost Docker ya
no se debe usar. El compost de Docker para trampolín no se
debe usar En consecuencia, tenemos
que comenzar esto. Cuando encomiamos
esto, ya
no va a utilizar esta
lima de compost Tratando de ver cómo podemos conectar
automáticamente
las cosas para nosotros. Eso es lo que voy a
tratar de lograr. Vamos a cerrar esto.
Vamos a cerrar esto. Ese es el primer paso. que ustedes realmente tengan
cuidado con esto. Voy a explicar esto de nuevo. En este momento está usando nuestro
muelle porque agregaste enfermedad automáticamente
seguimos usando a este tipo. Cuando tienes un archivo de componer, teniendo todo esto, automáticamente
estará buscando
moduli it service, tratando de
averiguar estos detalles, tratando de obtener un contenedor
que deseche chicos, que no tenemos en
ese entorno virtual Esta ya no es mi caja local. Hemos seguido adelante
para desactivar esto. Ahora, próxima parada, también se
intentará. Recuerda, en realidad
usamos la componer Docker. Si recuerdas
lo que hicimos aquí, dijimos que no debería saltarse
la prueba de composición de Docker. Va a estar tratando de ejecutar la prueba porque
si miras el comando, en realidad los
colocamos. Si nos fijamos en este comando, este comando no omite el paso. No se salta la prueba
no se salta la prueba. Lo que vamos
a hacer, vamos a hacer paquete de mudanza limpia, luego rociar las pruebas de salto. Después guión D este perfil. Entonces, lo que esto hará es
saltarse esta prueba porque
esto no es un objetivo. Queremos construir la
imagen. Quiere hacer pero esta imagen, pero
esto seguirá fallando. Estoy seguro de que te das cuenta de que
esto seguirá
fallando porque ni siquiera tenemos un ambiente post gas dentro esta parte de Docker que es lo que vamos a estar
explorando en el próximo video Pero antes de eso,
vamos a empujar esto para decir saltar la prueba. Omitir prueba. Lo llamaremos tubería, eliminaremos Docker componer, resorte Docker componer y saltar
prueba eliminaremos Docker componer,
resorte Docker componer y saltar
prueba. Y eso
vamos a estar explorando. Así que entremos aquí. Por lo
que hago avanzar esto. Pero nuestro comazoe
no conseguimos ningún fracaso que están teniendo fallas
en la vista principal ahora mismo Entonces voy a entrar aquí,
voy a crear un número. Voy a llamar a este número.
Nos movemos la primavera, las botas Docker componen,
y saltamos pruebas Entonces esto será
ducto. Tubería. Ahora, entonces déjame hacer una pregunta. ¿Por qué nos saltamos la prueba? Pensé que ya tenemos
todo ya detallado. ¿Por qué estamos decidiendo
saltarnos la prueba aquí ahora mismo? Entonces te lo explicaré
en un momento, ¿verdad? Te lo explicaré en un rato. Ahora, me estoy saltando la
prueba porque si fijamos en la estructura
de nuestro código de cómo en realidad
estructuramos este código, estamos esperando esto aquí, este Docker componer Si pretendemos eliminar esto, si pretendemos sacar esto, necesitamos pasar en esta variable de
entorno. Tenemos que pasar esto
y debemos conectarnos. Esa es la palabra que
debemos conectar a una base de datos de pose grass definida dentro del contenedor de
acciones de Git. Entonces saltemos la prueba. Volvamos,
vendré y arreglaré eso
en el siguiente video. Hagámoslo en
realidad. Lo que voy a hacer, voy a llamar a esta prueba de salto, prueba de
tubería saltar prueba. Entonces voy a copiar esto. Entonces lo estoy tomando paso a paso, para que puedas tener una buena
idea de lo que estás haciendo, se compromete, luego toca esto. Después cierra. Bien,
así que vamos a empujar esto. Entonces veamos qué
va a pasar. Todo bien. Todavía queremos esto. Esto básicamente fallará, ¿verdad? Pero hemos podido
acotar el tema para que vaya
dando paso a paso, para que
podamos tener una buena
idea sobre qué es lo que sigue a hacer y cómo hacer
que las cosas procedan realmente. Entonces, procedamos. Por lo que
ahora estamos en la sección pero. Bien. Esto suele llevar
mucho tiempo, de verdad. Así que vamos a soportarlo. Porque esto no tuvo éxito. Entonces al parecer
no atrapará nada. Aparte es exitoso, ¿verdad? Bien. Ahora, miren a estos
tipos. ¿Puedes ver? Esto ha funcionado con éxito
y puedo ver el frasco. Esto es lo que estaba
tratando de sacar, ¿verdad? Así que somos capaces de
hacer esto con éxito. Al hacer esto, esto ahora
es exitoso. Esto es ahora exitoso.
Eso es exactamente lo que estoy tratando de sacar a la luz.
Esto es ahora exitoso. Esto no tendrá ningún problema. No se conecta
a ninguna base de datos. Solo trato de generar un archivo jar y
consigue lo que necesito. Se pone lo que necesito,
si lo miras, estos son todos los
archivos donde enumeramos todos los archivos y
generamos este tamaño de auto. Generé un auto de
un tamaño de auto nuevo, y fue
capaz de guardar esta llave. Esta es la clave a utilizar. Cuando esto está ejecutando el trabajo,
es lo que va a usar. Dicho esto, ¿por qué no
permitimos que se ejecute la prueba? Permitamos que se ejecute la prueba
para permitir que se ejecute la prueba, necesitamos un
servicio post gas realmente funcionando, que no está
disponible en este momento. No lo tenemos disponible. Porque si revisas nuestra acción estamos pasando en fuente de datos, todos estos
detalles postgaar y En realidad no está
conectado con Postga veamos eso. El siguiente video.
10. Contenedores de servicio de tuberías: Oigan, chicos, gracias por
volver conmigo. Todo bien. Así que hemos podido
hacer algunos detalles. Hemos sido capaces de
construir realmente el archivo JAR. Ahora queremos explorar
en un escenario ideal, no
queremos saltarnos la
prueba porque la prueba es una parte esencial de la aplicación, por lo que
no queremos saltarnos esto. Entonces, ¿cómo lo hacemos? Entonces lo primero que recomiendo
es que tenemos que entrar ahora, no
vamos a saltarnos la prueba, queremos cambiar el comando
para permitir realmente la prueba. Pero en esta ocasión,
iré a la carpeta de acciones. Copio todo esto y lo uso
directamente dentro de nuestra prueba. A continuación, copio los datos sur. Vamos a copiar la fuente de datos. Vamos a copiar los datos sas. De la misma manera, creo que
voy a necesitar esto. Vamos a copiar las actualizaciones. Bien. Entonces, vamos a traer esto. Todo bien. Todo bien. Así que también quiero que ustedes
recuerden algo. Recuerda, cargamos
esto como startup, ¿verdad? Y si revisamos nuestra prueba, tú revisas nuestra prueba, ¿es
la prueba de inventario? ¿Ya hiciste mucho? A ver. Entonces hay una parte que en
realidad estamos cargando con cierto detalle. Buscando estamos
buscando una lista de este tipo porque sabemos que esto ya existe en la base de datos,
y en realidad agregando en contra de ella. Esto fallará si no atendemos a westrapping los datos,
estos datos, inicializándolos Porque estamos manejando a
este tipo ahí
dentro, lo que voy a hacer
es elegir esto. Tenemos que escoger todo esto. Todo esto tendrá que
irse. Inicializar nuestros datos también dentro de este tipo Inicializarlo. Para inicializarlo para
hacer esto siempre. Así que haz esto siempre. Entonces esto debería correr. Estamos diciendo,
Bien, ¿sabes qué? Corre cada vez. Una vez que
conecte la base de datos, ejecute cada vez y todo. Seguro que esperamos que estés
usando en un lugar más vamos a
terminar con duplicados. Pero de todos modos, aún vale la pena
intentarlo. Entonces veamos esto. Entonces ahora hemos podido
hacer esto, bien, para poder agregar
este detalle
luego volvería a este archivo,
luego eliminaría luego volvería a este archivo,
luego la prueba de omisión ya
no salteando prueba. Así que ya no te saltas la
prueba. La prueba, recuerda nuestras pruebas, no
tenemos ningún perfil, así que nuestra prueba simplemente se ejecutará
en este default, ¿verdad? Ahora bien, ¿qué otras cosas
nos vamos a perder? Un poco falta algo
muy vital porque recuerden, estamos usando Doka usando
¿cuál es el nombre ahora Estás usando un post guest. Tenemos que ser capaces de
traer esto también. Este tipo necesita estar presente dentro de nuestro contenedor de
lo contrario va a fallar. Recuerda que estamos
usando las poses, incluso en nuestra prueba para conectarnos. Entonces ahí está lo mismo
tenemos esta compostura. También contamos con una característica de servicios. Hay una función de servicios dentro de Git Actions.
¿Eso es increíble? ¿Tiene una función de servicios, que existiría por puesto? Existe para cada puesto de trabajo. Entonces quiero que funcione dentro de
este trabajo. Coloca esto aquí. Entonces este tipo también estaría disponible dentro de nuestro GitHub
y dentro de las acciones de Git, y esto en realidad solo
copiaré directamente. Entonces ahora veamos cuáles son las cosas
que no están permitidas. Dice que el
nombre del contenedor no está permitido, prohibido así que
no queremos esto. Al parecer, ni
siquiera estamos usando esto. ¿Qué dice aquí? El ambiente no está permitido, Scheman no está permitido, pero necesitamos agregar
algunos entornos. ¿Bien? Qué bien. Ya que sé que necesitamos necesitamos este Post
chicos DB para estar disponible. Necesitamos este post chicos DB. Vayamos a buscar dentro de la capa de
servicios para ver cómo podemos
cablear en el entorno que realmente
requeriría. Al parecer, no
usamos los jarrones, los vastos usuarios que estandares Pero entremos para ver
cómo funciona esto en realidad. Sí, con esto, entonces
explora los servicios. Todo bien. Entonces echemos un vistazo a los servicios. Entonces estos son contenedores de servicio. Ahora, mira la definición. Puede usar contenedores de servicios
para conectarse a bases de datos, servicios
web, cachés de memoria y otros a su flujo de trabajo.
Ahora, vea esta parte. Los contenedores de servicio son contenedores Docker que brindan una manera simple y
potable para que pueda alojar servicios que
podrían necesitar probar la operación en su flujo Entonces esto es básicamente
lo que necesitamos. Vamos a
saltar a cómo funciona. Ahora bien, esta es una nota muy importante que quiero que ustedes
tengan en mente Si estás usando
ito hosted runner, que estás usando,
debes usar Bnt Si estás usando ejecutores
autoalojados, debes usar una máquina Linux, y la puerta vino debe estar instalada. Realmente necesitas tener
esto en mente, ¿verdad? Básicamente hay que
tener esto en mente, porque si no lo
tienes en cuenta, esto no va a funcionar. I I hay un corredor auto hospedado,
debes encargarte de esto. Si estás usando
esto, dice, docker podría estar instalado
Der podría ser automáticamente
Docker Engine automáticamente está disponible para nosotros usando ejecutores alojados en Git ¿Cómo lo haces?
Esta es una muestra. Verás, elimino
el nombre del contenedor porque aquí podemos decir un nombre, podemos
decir el nombre aquí. Si vuelves,
básicamente puedes venir aquí. Pon esto lado a lado.
El lado a lado. ¿Bien? Entonces, si miras esto, dice que luego
puedes llamar a los servicios. Para ese servicio,
puedes venir aquí, luego darle un nombre, el nombre del
trote que voy a correr Entonces llamaré a este contenedor. Entonces el contenedor
puede tener un nombre. ¿Cuál era el nombre aquí? Creo que se llama Boosre
llamar a esto Entonces tenemos esto, y si lo
miras correctamente, afortunadamente
tenemos un
contenedor de servicio postga, lo cual es bueno,
que es solo una forma predefinida conectar los postgas
como con otras Vamos aquí. Creo que esto solo
va a decir
todo lo que necesitamos. La imagen que necesitamos, necesito la imagen 16 o dos. Eso es con
lo que probamos. Ahora se supone que esto es ENV. Es una fuente de comandos usando ENV. Aquí tenemos que usar el nombre sin comillas, hagámoslo. Voy a colocar el ecualizador
con una columna, ¿no? Esto también
saca esto saca estos. Creo que puedo hacer esto
con g, puedo hacer esto. Saca estos, luego cambia
esto a Cambios a columna. Cambios a la columna. Sí, entonces quita
esto, y esto. Bien. Bien, esto
no está correctamente alineado. Entonces hay alineaciones alineadas. Entonces ves esto ahora recuerda, no
tenemos que tener código porque ya sabes
exactamente cómo buscarlo Entonces solo haz esto. Como eso es un DB, ¿verdad? Eso es un DB. Eso
debería ser modelarlo. Módulo su subrayado
DB underscore name. Ya tienen esto. Para el nombre de usuario y
contraseña, lo mismo. No hace falta que
ya definas esto. Oh, lo siento, esto es DB ahora, esta es la contraseña.
Este es el usuario. Este es el usuario de poscas.
¿Qué colocas aquí? Vamos a revisar. Yo no
mezclaré las cosas. Todo bien. Utilizamos lo que hacemos como nuestro usuario. Volvamos a nuestro archivo de
redacción, archivo de redacción. Componer archivos también
modula lo mismo. Nombre de usuario y
contraseña, lo mismo. Volveremos aquí para
desplegar vuelve aquí. Lo mismo. Como hablar el nombre.
¿Cuál es el nombre? No es Spit como
contraseñas el nombre, luego contraseña VSA.
Esto es lo que usamos. Ahora, recuerden,
no guardamos esta asignación. No guardamos este
entorno de asignación que recibimos, guardamos un secreto
¿cómo evalúan los secretos? ¿Cómo se evalúan los secretos? Evalúa secretos, usas
la palabra clave secrets. Así es como evalúas los secretos. Los secretos se evalúan con la
palabra clave secreta lo siento, no esto. Secretos. Yo evalué con esto. Creo que esto básicamente
nos da una idea de qué hacer. Ahora, puedes ver que
estos post
en realidad no requieren que
usemos a este tipo. Entonces colocamos esto y, en realidad
es que podemos
seguir adelante y probar esto. Vamos a probar esto para ver si poco a poco
vamos adelante para eliminar esto para
eliminar la prueba de salto. Nosotros hemos venido
aquí para agregar a este tipo. Entonces entramos aquí para
agregar el contenedor de servicio. He explicado cómo los contenedores
de servicio. Voy a compartir el enlace
a los servicios. Entonces queremos ejecutar esto. Esto no va a codificar duro. Acabamos de probar de nuevo esto
y solo podemos ver, ¿funciona esto? ¿Funciona? Vamos. Vamos a averiguarlo. Simplemente entramos y ejecutamos esto. Yo solo crearé procedimiento Normalmente creo un problema.
Voy a crear un número. Llamemos a la tubería de emisión
usando contenedores de servicio. Todo bien. Entonces hagámoslo. Entonces solo guardaré
esto al lado de esto. Commits TAM, cierra Luego vamos a empujar. Y veríamos que esto
realmente entra aquí, cierra esto, y
esto va a entrar. Bien, así que vamos a
ampliar esto y averigüemos qué
pasa. Bien. Esto se está ejecutando.
Nos interesa esta sección, ¿recuerdas?
Sigue vigilando. Creo que podemos refrescar,
no lo ves moviéndose solo refrescar. Podemos refrescar iniciado, luego
podemos saltar para
ver qué está pasando. Algo falló
Algo archivado. Vamos a entrar a ver qué
pasó con un construido con M. Dice poseer realmente lleno, envidia y no encontrado. W. Pero nosotros solo VN trabaja para
nosotros. ¿Qué ha pasado? Si cambiamos algo, en realidad
lo
averiguarías, V no se encuentran. No creo que deban
nuestros contenedores de servicio, pero envidia NV no se encuentran, tenemos que volver adentro, o veamos cómo
estructuramos a este tipo. Ampliemos esto Bien. Entonces esto tenemos un servicio de
contenedores que está disponible, lo cual es un progreso, y esto realmente
nos dará los detalles que necesitamos. Entonces estamos jalando a este tipo. Entonces vamos. ¿Acaso tiró? ¿Sacaste la
imagen? A ver. Una serie. Así que detente
y quita la poquest Eso significa que tenemos un contenedor
postgast, lo cual es bueno. Contenedores bien. Esto está bien. Esto
está bien. A ver. sólo quiero confirmarlo.
Entonces, ¿a dónde saltó Maven Tuvimos a Maven corriendo antes. Entonces algo definitivamente había
sucedido dentro del trabajo. Entonces volvamos a ver
qué pudo haber pasado. Entonces, ¿cambiaste algo aquí? VN es lo que corremos. Entonces el paquete, y
esto fue consistente. Usamos la palabra clave VN
establecida en Maven, entonces ¿qué más harías? Sí, limpiamos el
paquete, enumeramos archivos. Entonces, idealmente, no deberíamos
tener ningún problema con esto. No debería tener ningún
problema con esto, ¿verdad? Entonces, no debería ser
problema con esto. Entonces volvamos a las partes. ¿Hay alguna manera de volver a desencadenar?
Volvamos a ejecutar este trabajo Vamos a correr Quiero volver
a ejecutar este trabajo. Ejecutamos una C que podría elegir
este archivo este flujo de trabajo, esta imagen de empuje B, Bud pushimage para di player Ese es el nombre. ¿
Puedo huir de aquí? Ahora, tengo que entrar aquí. Entonces corremos ejecutamos
todos los trabajos de campo. Vamos a dirigir a este tipo,
esta sección de belleza. Veamos qué pasa.
Probablemente vamos a iniciar sesión. A ver, tal vez hay
algo que nos falta. Ejecutamos esto de nuevo y
veamos cómo se desarrolla. Mira la lente de video
donde hacemos esto, este 14 ya podría tener que
echarle un vistazo a esto. Entonces veamos cómo se
desarrolla entrar en el código. Bien. Bien, entonces déjame
hacer una pausa en esto y volver, Sarus y obtener el
video innecesariamente Todo bien. Entonces esto se completa
y todavía está lleno. Así que volvamos
en el siguiente video. Dado que no está encontrando Mv en, probablemente
necesite
agregar un Mv en acción para configurar una configuración
móvil. Hagámoslo en el siguiente video.
11. Corrección de errores en Pipeline Maven: Hola a todos. Z aquí. Bien,
en realidad no logramos hacer esto con éxito el último video y debido
a que no
estábamos teniendo esta
mudanza o encontrado. Lo que tuve que hacer
es ir a revisar
tuve que ir y verificar los servicios
preinstalados. Entonces, una vez que el contenedor esté arriba, acción
Git Hub Git
te promete que habrá algún cierto software instalado en el entorno Ubuntu. Quiero mostrarles cómo
averiguarlo realmente. Entonces, si en realidad revisas esto
Bien, veamos esto. Pensé que lo había levantado. Bien. Entonces tenemos la
lista de corredores anfitriones. Sí. Bien. Esto es. Voy a soltar el
enlace. Voy a soltar este enlace. Me aseguro de que realmente
lo guarden y lo pongan a disposición, el enlace estos enlaces. Ahora bien, si nos fijamos en
esto, estas son las imágenes disponibles. Ahora estamos usando Ubon a los ulteriores. Boon to latest diferiría a 22 oh cuatro y decir que esto
son software incluido. Vamos a hacer clic en esto para ir a ver el software incluido.
Bajemos. Entonces puedes ver fácilmente
para que no tengas que ir instalando
el software que ya
está disponible, ¿verdad? Ahora, vemos que esta es la imagen por lo que
el software el idioma que están
disponibles por defecto. Aquí no tenemos Java. Por eso
en realidad teníamos un Java. Entonces manejo de paquetes,
tenemos PP PPPx vamos a bajar. Entonces si revisas las
herramientas que están disponibles. Mira la gestión del proyecto. Tenemos Maving tres.88. Se supone que Maving tres puntos ocho está disponible. Sin embargo, intentamos que vimos que no estamos
obteniendo esa característica. Yo me dije que algo anda mal o algo realmente lo
alteró. Cuando comprobamos esto, no
creo que hayamos hecho nada fuera de
tono al traer esto aquí porque configuramos
el entorno Java. Esto habría
funcionado básicamente, pero por alguna razón, en
realidad falló. Lo que voy a hacer, enumerar esto, hagamos también esto. También podemos agregar bajo comando. Hagamos una versión VN dash. Veamos esto
realmente se instala. En Ubuntu, la mayoría de las veces
tenemos esta parte. El camino en realidad se
llama slash OPT, Apache. Hagamos un LS en
esto. Hagamos esto. Hagamos una L S en
esto en este camino. Veamos si esta ruta está disponible y si está disponible, veamos qué hay disponible
dentro de este directorio. Vas a ejecutar
esto ahora mismo. Voy a ejecutar esto para ver. Voy a decir
imprimiendo versión móvil,
llamada la versión Mv de impresión. Ellos solo vienen aquí temas. Una vez que no lo encontremos solo
sigue adelante e incluye una acción, una acción personalizada que simplemente configura Mving directamente. Eso es lo que
vamos a hacer. Todo bien. Entremos
aquí, solo digamos tubería. Tubería. Entonces digamos imprimir. Detalles de mudanza. Vamos a guardar
esto. Vamos a copiar esto. Vamos al código a
menos que consigamos commits. Entonces vamos a cerrar esto.
Creo que no lo copié todo. Eso es 27, 27. Hagamos esto. Vamos a empujar. Vamos a pasar.
Volvamos aquí, revisa nuestras acciones. Al parecer, esto destacó
en esta sección pero laboral. Así que vamos a ejecutar esto. Vamos a revisar. Bien, continuer
están inicializando. Para que no tengamos que tener miedo. Si lo miras contenedores, no
podemos pegarnos críticamente. Entonces esto en realidad es conseguir que lo mires,
post contenedor de gas. Entonces estamos seguros que incluso está tirando de
poste de gas sistein o dos. Por lo que estamos seguros de que nuestro post gas disponible. Entonces esta
es realmente buena. Esto es una buena cosa. Esto
es bueno para nosotros, ¿verdad? Entonces sabemos que post gas
instalado con éxito. Permítanme cerrar estos
continuadores inicializados. Código G. Creo que corremos obtener código. Este es el
campo para. A ver. Esto es configuración.
No lo pudimos encontrar. Estamos tratando de imprimir esto y ¿qué
averiguaste? A ver. Dice versión móvil,
Ls versión anving. Esto salió,
no tienes nada, ¿ verdad? Uh entonces ENV Al parecer, no estamos
viendo lo que necesitamos. Esto es CynDipa porque esta
película esta es la versión
que debería haber Esta parte que debería tener pero no
es encontrar a VN no encontrada. No se encontró VN. No he intentado imprimir esto
probablemente debería haber impreso esto antes de que
la otra parte debería haber impreso esto
antes. Comprobemos eso. Pero en lugar de hacer eso no tanto tiempo consigue el
video ninguno para eso. Solo vayamos al
marketplace y
busquemos vamos
al marketplace. Vayamos al mercado
aquí. Vamos a escoger esto. Vamos a usar este plugin de movimiento, este movimiento tenemos esta acción de
movimiento, acción personalizada. Solo traeremos esto
y vamos a movernos. Lo que voy a
hacer, voy a poner esto inmediatamente después de esto. Vamos a hacer
esto. Entonces vamos a ponernos esto con nosotros. Si no estás seguro,
también podríamos instalar manualmente. Si revisas, podríamos instalar
manualmente. Si haces un patcher en movimiento, un parche de maven.
Entonces haces Ubuntu. Entonces, para instalar Pache Mav en
Ubuntu, ¿cómo instalar Pat? Entonces tienes varios
enlaces para
mostrarte realmente cómo
instalar realmente un Pach en un Binto Entonces este es el paso uno. Tenemos una variable de
entorno Java. Esto ya está configurado para
nosotros. Tenemos esto disponible. Y así para ahora instalar, en realidad
podríamos conseguir esto. Ya ves, esto está disponible.
Podrías simplemente elegir esto entonces ves que hay demasiados pasos, hay
demasiados pasos. Decidí usar
la acción personalizada, pero sin embargo, en realidad
podrías elegir esto y
usarlo directamente, ¿verdad? Solo necesitas mostrarnos para
que podamos ver esto funciona. Entonces probemos la primera opción. Si todavía tienes
problemas, bien, entonces tendremos que
hacerlo de bajo nivel nosotros mismos Hemos movido este nivel bajo, agregarlo al pase, y
conseguimos que las cosas se hagan nosotros mismos Pensé que
en realidad mencionó esto. Volvamos al código. Ahora que tenemos este guardado
así que hacemos git commits. I CM entonces voy a decir añadido acción
de movimiento personalizada. Llama a esto. Se agregó una acción de
movimiento móvil personalizada. Para que puedas conseguir que esto
se cierre. Todo bien. Bien. Entonces, veamos. Esto realmente hace el trabajo. Bien, así que
vayamos a las acciones. Entonces esto es Building. Voy a
relajarme refrescar esto. Así que entremos. Todo bien. Entonces esto es Building.
Refresquemos esto una vez más. Entonces esto es Building. Sólo
quiero ver el movimiento de la barra. ¿Correcto? S inicializar Bien, así comenzó.
Segundo salto en. Entonces, configurar esto
ha ido directamente. Tan más cercano arriba Mvn
configurando Maving. Entonces estás tratando de
tenderle una trampa a Maven. Sí. Todo bien. Entonces veamos porque
esto me da detalle ahora. Todo bien. Entonces ya ves que esto en realidad se
imprimió con éxito. Maving se
imprimió esta versión VN, y el archivo OPT nos dio
todos estos detalles Bien. Así podemos ver que
Mavin se está ejecutando ahora, así que hemos podido
resolver ese problema Así que bajemos.
Esperemos esto. Creo que ves
obteniendo errores aquí, vamos a permitir que termine, entonces realmente podemos depurar para
ver cuál es el error ahora. Este trabajo falló vamos a
comprobarlo. L solo chequea. Básicamente, algunos de los problemas
que encuentras en tu pipeline. Algunas cosas que estaban funcionando
antes de que dejáramos de funcionar, quieres depurar para ver qué pasó con el tiempo
llegas a ver cómo resolver
realmente esto bien. Entonces una vez que bajes, entonces esta es la prueba. Ahora, sí, genial, genial.
Esta es la prueba. Entonces, ¿cuál es el problema
con la prueba? Entonces dice que hay un
puntero no, su SQL, ¿verdad? Se trata de, oh,
no está conectado. Verás, no está
conectado a la base de datos. Esto es lo que está aquí el tema. No es conectar
la base de datos, ¿de acuerdo? Entonces al parecer,
este es el tema. No está conectado
a la base de datos. Sí, no está
conectando la base de datos. Entonces mira esto de nuevo. Sí, comenzando,
ves que el acarreo de la piscina arrancando no pudo obtener
conexión, al parecer. La prueba no está conectando. Eso es básicamente
lo que es el tema. Hemos podido
llegar a esa etapa. Muy bien chicos. Los
veré chicos en el siguiente video. Nos movemos paso más rápido
de un tema en movimiento. Ahora en realidad nos quedamos con la base de datos que no se
conecta y eso
arreglará en el siguiente
video. Nos vemos chicos.
12. Pipeline explica los cambios de compilación: Hola a todos. Z aquí, derecha. En el último video, realmente la acción personalizada y
usando eso realmente
usamos la
acción personalizada y aplicando la acción personalizada usando
esta parte en particular aquí. Así que estamos en condiciones de introducir esto. Entonces de lo que me di cuenta es que
algunas de las características realmente prometidas dentro
del corredor
de Ubuntu básicamente no funcionaban
como debería, ¿verdad? Así que hemos seguido adelante
para tener una configuración de movimiento personalizada, y esto fue capaz de traer
el comando de movimiento. Entonces le hemos
puesto algunos detalles. Bien, entonces lo que
hice, hice algunas pruebas en torno
a tener que ejecutar la prueba Mving, la prueba maving y la compilación
descubrí que algunas
cosas estaban Y las cosas que estaban
fallando era que vi que las variables de entorno establecíamos no estaban siendo inyectadas. No les estaban inyectando. Mirando la configuración, mirando tengo que mirar la documentación una vez más. Al mirar la configuración,
entonces me dio algunas ideas sobre básicamente
cómo hacerlo realmente. Y así fue como pude realmente
hacer esto. Si vuelvo aquí, este es
el que usamos para mudarnos. Así que vamos a ir a la acción. Entonces iré a publicar contenedores de servicio de
contenedores de gas. Yo lo llamaré gtconcion servicios. Obtenga servicios de acción.
Este servicio continúa. Aquí es donde tengo la
idea que realmente uso. Va a publicar contenedor de gas. Vi que cuando
intentaban ejecutar esto
dentro de este paso, todavía
agregaban una variable de
entorno para agregar el entorno, lo que querían usar
dentro de la aplicación. Seguí adelante e hice
exactamente lo mismo. Es por eso que
ves, antes que nada, mostré el entorno para
estar seguro de que en realidad está entrando porque
ya no estaba segura de que solo estaba
recibiendo tantos errores. Si tuvieras que verificar la
acción pero de este proyecto, verías que
hay varias cifras porque hice muchas pruebas
y no quería hacer esto en vivo en video para
poder obtener tus precisiones
antes de volver con ustedes. Entonces habiendo hecho esto, entonces seguí adelante y
separé la prueba. Recuerda antes de ahora, estábamos haciendo un paquete de mudanza limpia, no
teníamos la prueba de salto. Lo que hice es idealmente
en una tubería, quieres separar
tu prueba para
estar seguro de que todas tus
pruebas se ejecuten con éxito. Es por eso que acabo de ejecutar la prueba de mudanza con agudeza con
esta prueba de limpieza en movimiento Esto ejecutará todas las
pruebas que tenemos. Entonces entonces separé esto para hacer el edificio luego
mover paquete limpio. Ya que hemos hecho la prueba aquí,
puedo saltarme la prueba aquí. Y aquí estaba
introduciendo ese
pf de primavera que en realidad estaría
usando nuestro archivo Docker Esto es básicamente lo que hice aquí y las cosas
realmente salen bien, lo cual es muy bueno,
es muy bueno. Sí. ¿Cuál es el siguiente paso? ¿Cuáles son las cosas realmente
cambiadas para que esto funcione? Primero lo primero,
recuerda que estamos usando los Springboks compuestos. Ahora, eso definitivamente
causaría problemas aquí. Recuerda, ese
aspecto de que tienes un motor Docker funcionando y
está tratando de realmente botrap parte del post curado del gas por sí mismo,
habrá un conflicto Primero y primero,
entré y me quité el trampolín docker componer y quitando el
trampolín docker componer,
automáticamente, tuve que
quitar esta propiedad, que es Docker
componer prueba de salto, que usamos Creo que este segundo
o tercer video también. Tuve que quitar esto para que
no tengamos disturbinance, ¿verdad Sí, así que fui capaz de hacer. En segundo lugar,
recuerda que recordamos que teníamos este guión, además de inyectar
el inventario. Entonces inyectar el
inventario también nos
fallará porque
la propiedad que
establecemos dentro de esta parte es
para que ejecutes actualizaciones, entonces esto
probablemente nunca debería ser, ¿verdad? Pero cuando estamos ejecutando nuestra prueba cuando estamos ejecutando nuestras pruebas, tenemos que establecer esto para nunca. Le dijimos esto a nunca porque solo
inyectamos una vez, luego solo estamos ejecutando la
prueba una y otra vez. Pero ahora está automatizado, necesito encontrar una manera en la que
cuando cada
concurso de prueba se esté ejecutando, siempre trataría no arrancar o
intentemos arrancar. Recuerda cuando ejecutas tu prueba, cada prueba cada prueba lleva
la prueba de botas de primavera. Esta es una prueba de arranque de resorte. Lo que simplemente significa que sacará a colación el concurso
cada vez. Y sacar a
colación el concurso cada vez tiene una ventaja o
¿debo llamar desventaja ahora? Si siempre intentas
ejecutar tu script, si estableces esto siempre una vez que esté ahí
para seguir dándote
el error diciendo que esta probablemente propiedad
ya existe en la base de datos o venture ya contiene esta palabra clave,
seguirá fallando. Lo que tenía que hacer además
era crear un esquema. Recogí el
esquema directamente de. ¿Cómo conseguí esto muy simple? Entonces dependiendo del
cliente o dos que estés usando, podría tener
esto directamente. Puedes simplemente si estás usando Intelligent ultimate
como yo o Data grip o algún otro
cliente o post gus, básicamente
puedes generar básicamente
puedes generar el DDL Entonces lo que tengo que hacer es cuando entré aquí ya
ves, así que tengo esto. Acabo de generarlo directamente. Entonces eso es lo que hice.
Yo lo acabo de generar. Y al generador
acabo de copiar y que
en realidad coloqué aquí. Entonces voy a repasarlo
otra vez, sólo rápido. Simplemente hago clic, voy a SQR
Scripts, luego generador. Una vez que vayas al generador, eso realmente
lo generaría. Yo sólo lo copié. Yo no necesitaba esto.
Tomé esto y tomé esto y eso es
lo que tienes aquí. Puedes ver que tengo
el índice create, tengo esto
exactamente como lo tenemos nosotros. ¿Cuál es ahora la idea? La idea es que si
miras nuestra propiedad, dijimos, ¿cuál es
la propiedad ahora? Dijimos que debería
diferir la inicialización. No estoy creando la tabla
de inventario. Estoy creando manualmente tabla
de inventario. Eso es para favorecer nuestra prueba. Eso es básicamente lo
que hice. Al entrar aquí, esto se dispara, esto se apaga. Se quitó esto. Agregué esto quiero
decir, agregué esto estoy bajando la mesa
cada vez si existe. Lo dejo caer, recreo, luego inserto. Esto
hará la inserción. Entonces la creación
es la inserción. Para que por cada vez que realmente surja el concurso de
pruebas, esto bajará la
mesa si existe. Una vez que lo hace, luego insertamos. No tendrías el caso de la llave ya existe.
La clave ya existe. Recuerden, todo esto
está a
favor de que tengamos que construir la imagen. Así que en realidad puedes mover
las cosas, ¿verdad? Pero idealmente cuando
voy a producción, tendrías una base de datos de
producción, que ni
siquiera deberías estar usando el DD ello DD
amarillo también, ¿verdad? Este es el Amarillo también.
Lo pones a null o nu más bien
lo mueves totalmente, ¿verdad? Creo que lo mencioné
algún tiempo antes en los videos. Entonces, lo que se supone que debes
hacer es cargar el
script tal como
tienes este script aquí, ya
que tienes este script aquí. Básicamente generas este
script para todas las demás tablas. Entonces vas, se lo das a tus chicos de DBA y lo ejecutas
directamente en la base de datos, el interior de las
propiedades a null Pero aún así está
bien. Dado que en realidad está construyendo
esto en la tubería aún
puede mover las cosas para ver si las cosas realmente
funcionan con precisión. Uh, sí. Así que fui capaz de hacer. Volveré a repasar los cambios
, tenemos una visión general. Entonces, si en realidad estás
siguiendo este proyecto y estás
tratando de codificar, entonces sabes exactamente qué hacer. Cuando llegas a esta
etapa, lo que tienes que
hacer es desactivar a este tipo, que es el trampolín que compone
Docker, luego entra a actuar el guión, solo mostró cómo
puedes crear el Recuerda, no olvides
esta mesa de trabajo. No olvides esta mesa de trabajo. Todo se
comprometerá tal como es para que pueda realmente
usarlo directamente. Entonces tengo esto y estamos conscientes que estoy usando esta acción. Pero si tienes mucha curiosidad por
saber, mira esto, mientras estoy corriendo la prueba, ya
ves que no pasé. No pasé esta parte. No pasé ningún perfil. Estoy diciendo que uses cualquier perfil
predeterminado que veas. Eso realmente usaría
este perfil predeterminado. Y este
perfil predeterminado siempre va tener un siempre esto como actualizaciones y eliminar a este chico
y que pude hacer. Recuerda, tuve que agregar todas estas propiedades
esta propiedad, todas estas propiedades
que ves aquí. Entonces cada propiedad
uno, dos, tres, cuatro, cinco, si ves, si te pierdes uno de ellos,
tienes errores. Este no se supone
que sea el horario de uso porque creo que
una vez que lo conectaste en los ajustes como en los sets
lo que lo haces en Github, quiero decir, esta parte aquí. Estoy en este paquete. por qué esto de aquí,
este ambiente. Este ambiente
aquí, en realidad todo debería
inyectarse automáticamente. Pero descubrí cuando
llegas a los escalones, las cosas no están funcionando como están. Y tenga en cuenta amablemente aquí, se espera que usemos
Pogues y ningún anfitrión local Entonces, sea cual sea lo que usaste como nombre de
tu contenedor, ¿verdad? Lo que sea que coloques a
tu nombre de contenedor debería ser tu anfitrión, ¿verdad? Porque probé anfitrión local. El anfitrión local estaba llenando y me
dio un poco de
problemas con la depuración Entonces, cuando cambié a esto, funcionó, y tuve la
idea de usar esta parte. Esta parte de aquí,
agregando el anfitrión como Postgest pude
conseguir que realmente funcionara, Bien, entonces creo que
esto se ha hecho. Como nosotros hacemos la prueba con ustedes ahora así que vean
exactamente cómo funciona. Probablemente cambie
una cosa más. Ahora que hemos construido esto,
tenemos una sección de muestra, tenemos una sección construida. Ahora es el momento de enfocarnos en esto. Pero antes que nada, queremos ver lo que
figuraba en el expediente. Exploraremos esto para
ver lo que estaba en la lista. Pero voy a
agregar una propiedad Ns. Voy a agregar una
propiedad, que es necesidades, y esto básicamente va a una básicamente necesitamos una construcción ¿cuál es el nombre de
esta sección? ¿La sección es qué? Sección de construcción. Estas necesidades, en realidad
podrías agregarlo
como lo agregas de esta manera. Funciona. Probablemente
agregue de esta manera como lista. Si tienes siete empleos de los que depende
este empleo. Pero si es solo
ya que es solo uno, solo
puedo seguir adelante y
agregarlo como un solo trabajo. Ahora bien, qué significa esto que recuerde la implementación
por defecto, el comportamiento predeterminado es que los trabajos son paralelos,
se ejecutan en paralelo. Pero agregándole esto, lo
estás obligando a decir, Oye, esta sección
de imagen push depende totalmente de este tipo. Verás que esto es totalmente dependiente una vez
que lo ejecutes ahora mismo. Voy a publicar voy a parar este video
aquí para que
realmente podamos entrar en
el siguiente video y ejecutarlo porque ya son unos
10 minutos. Los veo en el siguiente video.
13. Artefacto de carga en canalizaciones: Oigan, todos. Z aquí. Todo bien. Entonces ahora tenemos esta sección donde
tenemos que ejecutar esto. Solo voy a hacer un resumen
rápido porque me gusta el amigo creo que
ayuda a que la
información se pegue Aquí tengo problemas al
intentar ejecutar esta
prueba, la prueba. Separé la prueba
de la compilación principal, y pueden ver, solo
estoy haciendo ving
clean test aquí, pero por aquí, no me estoy
saltando la prueba Así que idealmente tu prueba debería
ejecutarse antes de tu compilación principal. Así es básicamente como
debería ir el pipeline para asegurar que
no tengas ninguna prueba fallida. Tuve que traer todas
estas propiedades,
que en realidad se declaró
dentro de esta aplicación
del ñame y este Yamil
es totalmente para la prueba puede ver que está en
la prueba. Dice, cómo traer todas
estas propiedades. Ahora bien, esto debería haber
sido cableado directamente porque lo configuramos
en la configuración. De hecho configuramos
en los ajustes, pero descubrí que
no trae nada. Entonces, cómo traer manualmente
el medio ambiente y me dieron la idea de estas partes. Vi documentación donde tuvieron que traer en la
prueba las propiedades. Para que yo fuera capaz de hacer
eso realmente funcionó. Ahora mismo, lo que
estamos probando es que
agregué esta característica
que es Necesidades. Necesidades significa lo que sea que coloques ahí, esto también
puede ser una lista. Lo mostré en el último video. Significa que esto se ejecutará primero
antes de que esto realmente se ejecute. Entonces eso va a hacer, y al mismo tiempo
exploramos este archivo objetivo para conocer los archivos
y qué almacenar en caché entonces podremos
seguir adelante qué subir. Wever quiero subir,
quiero descargar algunas cosas. Una vez que realmente lo haga, así
podremos saltar realmente a la sección. Bien. Hagamos esto. Voy a cometer esto ir por aquí. Por aquí, en realidad
comprometo esto digamos configurado llamar a este pipeline
para mantener el contexto. Yo diría ejecutar trabajo en secuencia. Eso demuestra que en realidad podrás
seguir con esa ejecución de trabajos ejecutados, solo llámalo Run
Job is sequence. Copiaré esto, luego
entraré aquí. Entonces solo cometeré
esto contra esto Git comete esto luego se cierra. Entonces empujo. Tú empujas. Bien, así que sigamos este
viaje. Entonces esto se ha ido. Vamos a entrar aquí. Y
vayamos a nuestras acciones. Esta es la parte que estaba
mencionando. miras esto, hay
varios pelos. Tenía varios philos, ¿verdad? Mientras intentaba
probar todo esto, pero en realidad pude
conseguir trabajo aquí. Sigamos esto. Se puede ver porque
lo ejecuto en secuencia, se
puede ver esto porque
tenía la palabra clave neat. Ves esto ahora está
esperando que esto corra antes de que todos estuvieran
corriendo de forma independiente, pero ahora esto está
esperando, lo cual es bastante genial, Esto bastante genial. Ahora sabemos cómo ejecutar sequa
Vamos a seguir esto ojalá no
consigamos ningún error y podremos pasar
al siguiente bit Vamos a esperarlo. Bien.
Entonces esto está pasando. Yo solo publicaré el
video. Volveré una vez que este trabajo esté completamente ejecutado. No importa, el trabajo está cerca 30, pero el puesto de trabajo es 40. Tendré 40, así que
volveré una vez hecho esto. Entonces no quiero demorar. Bien. Bien, chicos,
el trabajo está hecho. Como pueden ver, esto
pero fue un éxito. Estaba muy feliz de tener
éxito porque en realidad
fui a muchos de
los molestos para conseguir esto Y se puede ver que esto también funciona. Así que en
realidad tenemos las cosas funcionando. Entonces nos interesan los
archivos que se enumeraron. Recuerda, queremos descargar, queremos realmente mover archivos de la sección Pero a
la sección push Min. Podríamos haber hecho
todo un solo paso, pero solo quiero usar
la idea para
mostrarles cómo
subir artefactos realmente. Esta parte realmente ahí
y cómo descargarla. Eso es más o menos el Else podrías haber hecho
todo un solo. ¿Correcto? También quería
mostrarles que paso un trabajo puede depender otro trabajo y cómo configurarlo
realmente. Sí, así que esa es toda la idea. Bien, así que vamos a enumerar el archivo. Bien. Todo bien. Entonces
enumerando los archivos, pudimos ver que tenemos un archivo
JR, que es script. Entonces mirando hacia abajo,
mirando esto, tenemos prácticamente
todos estos detalles. Estos archivos en realidad se están
ejecutando, estos son el Yamofle, el archivo Do, la aplicación dock
de Yamil y similares Así que tenemos todo
realmente en obras
bonitas. Esto
funciona. Todo bien. Entonces la idea ahora, ¿cuáles son las cosas que
queremos subir? Necesitamos especificar cuáles son las cosas que
quieres subir. Ahora, recuerda que esto está disponible dentro de
los objetivos, ¿verdad? Esto está disponible
dentro del objetivo. Entonces, si revisas esta ruta de salida, recuerda, fuera del
archivo de destino, tenemos la composición. Tenemos el
expediente Docker, quiero decir. Recuerda, solo
veamos la estructura y el proyecto para que
podamos tener algunos. Entonces tenemos esto. Esta es una estructura.
Tenemos un archivo Docker afuera, y dentro de la carpeta de destino es donde básicamente tenemos
el archivo JAR una vez que se construye Así que tengámoslo en mente. Así que esto es
básicamente fuera de la raíz, y esto en realidad dentro de
la carpeta de destino. Entonces vamos ahora a agregar. Ahora vamos a agregar los
archivos que queremos subir. Entonces, para subir archivos, vayamos
al marketplace y veamos si hay algo más
con respecto a subir. En realidad, la hay, pero
quiero mostrarles chicos. Entonces vamos Gits,
acción, mercado. Entra aquí
busquemos subir. Así que vamos a subir. Bien. Si lo miras, tenemos
subido un artefacto build, Upload a Bed artefact,
¿cómo se usa? Apenas abajo. Uso. Utiliza Acciones, sube artefactos en V cuatro. Entonces, ¿cómo cargamos los
archivos que queremos meter? Abajo. Bajemos. Verás, ahí está esta
parte llamada Sendero. Primero, podemos darle el nombre, el nombre. Este nombre es muy clave. Este nombre es muy clave.
Necesitamos este nombre para que este nombre sea lo que usamos para
realmente una vez que
está subido, es usar este nombre básicamente como una clave y cuando lo
estemos haciendo ping hacia abajo, podremos recuperarlo
realmente. Uh partes de los archivos que realmente
quieres subir. Ves dice si no
hay expedientes. Básicamente, así es como usar. Vamos si
nos das más ejemplos. Genial. Entonces ya ves, puedes pads al archivo que quieras usar. Entonces ¿podemos subir
varios archivos? Porque quieres subir
la descarga, Oh, sí. ¿Puedes ver esto?
Puede subir esto. Ahora, en realidad ¿Qué es esto de aquí? Y esto significa que quieres
ejecutar un comando multilínea. Un comando de varias líneas o realmente elegir esta ruta
en líneas separadas. Aunque todos estén registrados
como líneas separadas, y eso es exactamente lo que
vas a usar Voy a agregar
esta documentación que realmente comparto para
que ustedes sepan exactamente cómo mirarla. Sí, volvamos
a nuestro proyecto. Entonces, ¿cómo vamos con esto? Volvamos. Yo
sólo escogeré este camino. Queremos usar esto.
Interesado en esto, sólo
voy a copiar esto tal como está. Sí. Si, quiero algo como esto quiero
algo como esto. Bien Bien, entonces queremos subir algunas
colas. Voy a entrar aquí. Llamando a Ning. Vamos a darle
Subir Artefactos. Bien. Entonces eso es genial. Luego use. Eso es lo que
lo copio para que esto alinee ya no
necesito esto. Tenemos esto. Entonces
más o menos, eso es lo que necesitamos. Entonces queremos ir a
nuestra carpeta de destino, nuestra carpeta de destino para elegir el archivo que realmente
queremos usar. Entonces voy a decir objetivos. Recuerde que esto estará en los destinos del archivo
raíz y la slash. No sé si esto
acepta un comodín o
vamos a probarlo
que acepte un comodín Entonces dentro de esto, quieres
escoger también el Dockerfile. Ahora también tiene otra característica que
solo quiero mostrar, digamos que no quieres quedarte este archivo porque es
sensible en GIThuFever Había algo
llamado sobrescribir. Podrías sobrescribir. Diciendo por cada
vez que
generes este archivo, siempre
estás listo existente. Porque si no haces esto,
yo uso la misma palabra clave, yo uso el mismo nombre. Perdón, perdón. Lo estropeé. Debería ser una pipa. Entonces, sí. Entonces llamémoslo primavera estado de ánimo leith luego
swing modula Artefactos. Bien, entonces tenemos que establecer esto, entonces tenemos que establecer para también
podamos establecer
los días de retención. Entonces estas partes, entonces
lo que está diciendo es, si esto ya existe, si esto ya existe y
generalmente somos nuevos se anulan
los archivos que tenemos aquí. Entonces también queremos los días de
retención, ¿verdad? Retención dicen, quiero
digamos que la retengamos
por diez días, ¿verdad? Es en días, dices, retenerlo durante cinco días, ¿de acuerdo? Pero esto reemplaza a este tipo, esto siempre
anulará a este tipo ¿Bien? Hemos sido
capaces de hacer esto. Entonces probémoslo. No sé si el
Wildcard funciona o lo contrario tendríamos que
escoger el nombre completo, pero vamos a explorar Vamos a explorar.
¿Utiliza un comodín Digamos que puedes usar esto
entonces veamos. Bien, creo que el
comodín funciona. Creo que esto sería
genial. Esto sería genial si el comodín
realmente funciona Entonces no tenemos que
buscar el
nombre completo de la lima de resorte. Todo bien. Entonces, vamos a guardar esto. Entonces voy a
llamar a esto vamos a conseguir un problema. Así que crea un problema. Yo lo llamaré subiendo
ClesPipeline,
por el bien del comteto, pipeline por el bien del comteto Subiendo artefactos. Bien, así que escojamos
esto y veamos. Así que los niños se comprometen Bien, así que hecho eso entonces vamos a empujar. Vamos a empujar. Bien. Esto se ve bien. Esto
se ve bien. Todo bien. Así que vamos
a seguirlo y ver si esto realmente viene como realmente
esperamos. Entonces recargaremos esto. Voy a hacer una pausa en este
video y mostrar que terminar este edificio terminado antes
de volver con ustedes mas para simplemente retrasar
el video más tiempo. Déjame hacer una pausa en esto otra vez. Bien, chicos, estamos de vuelta. Entonces esto en realidad esto realmente
todo exitoso. Así que entremos para explorar
rápidamente. De esta manera subimos los
artefactos, saltamos aquí. Subiendo artefacto, dos archivos. Habrá dos archivos subidos. Sí, eso es todo El
nombre del artefacto es válido aquí. Entonces si pasas
y dice Cool di Cool. Esto es genial. No
muestra los artefactos namal. Se está cargando. Al parecer, pero sabemos
exactamente lo que está cargado. Entonces lo que estamos recogiendo es primavera cualquier cosa que realmente
comience con cualquier nombre, pero que termine con un tarro de puntos. Sólo tenemos un archivo que
termina con el tarro de puntos. Básicamente, eso es lo que
estamos buscando. Y si, también estoy escogiendo este doc también
recogiendo este archivo Docker Esto
realmente va a cargar dos. Vamos a estar seguros de que eso
realmente pasó y ahora ¿cómo vamos a ser show? Lo vamos a
averiguar en el siguiente video. Los veo en el siguiente video.
14. Contenido de descarga en pipeline: Hola a todos. Z aquí. Bien. Recuerda,
pudimos subir con éxito y ¿cómo
confirmamos los archivos que realmente
subimos? Vamos a hacer eso y ver exactamente eso es en lo que nos vamos a
centrar en este video. ¿Cómo
validamos realmente todo muy simple? Ya que estás subiendo,
deberíamos poder descargar y eso es exactamente
lo que estamos haciendo aquí Recuerda que este otro trabajo
depende de este trabajo. Entonces entramos aquí y ya
hemos impreso
algo aquí. Vamos a entrar aquí
y vamos a descargar. Llamémoslo
descarga. El nombre. Llámalo descargar. Llámenlo descargar, Artefacto.
Descargar artefacto Ahora, queremos ver
ya que hay una subida, estamos 100% seguros de que también
habrá una descarga. Vamos a entrar aquí. Vayamos al marketplace
y descarguemos. Bien. Entonces ya que hay una subida
que dirá descarga, ¿
verdad? Trabajan de la
mano, ¿verdad? Trabajan de la mano.
Si vas al uso, simplemente similar, de la misma manera. Similar al uso en el
que acabamos de colocar esto, entonces tenemos que el
nombre nombre es muy clave. El nombre de artifa para descargar. Recuerda, en realidad agregamos
este nombre así que debemos
poder usar el mismo nombre.
Creo que eso es más o menos todo. No necesitamos
nada más, excepto que probablemente quieras
configurar alguna actualidad, pero creo que eso es
básicamente lo necesitamos. Yo sólo voy a entrar aquí. Yo solo usaré esto. Creo que sólo
puedo copiar esto directamente. Voy a copiar esto con
la W y voy a venir aquí y voy a
probar esto aquí, ¿verdad? Ya no necesitamos esto. Ya tenemos listos,
solo arregla esto. Con entonces nombre. Aparentemente, entonces
¿cuál es el nombre? Debemos usar exactamente el mismo nombre para evitar cualquier problema,
exactamente el mismo nombre. Eso son básicamente ustedes chicos. Así es como hacer eso.
No tenemos ninguno. Vamos a dar salida a los contenidos. Vamos a dar salida a los contenidos. Recuerden, chicos, recuerden, chicos, cada cogollo tiene un corredor. Entonces esta sección de muestra
usa un corredor de Ubuntu, una vez hecho, se cierra. Esto usa un corredor
diferente de Ubuntu, por lo que no son el mismo entorno
virtual, debes estar consciente
de eso, ¿verdad? Debes tener en cuenta
que este servidor que en realidad
se hizo girar es
diferente a lo que hay aquí. Entonces una vez que esto es
realmente subido, una vez que subiste
nuestros datos aquí, subimos los detalles aquí, acabo de enviar a una caché en
algún lugar del almacenamiento Github
Github Entonces, una vez que realmente lo
descargas, parece que es el mismo
trabajo que se está ejecutando en el mismo contexto para
el costo fringmd
que soy propiedad de mí Si eso es así, entonces
busca este nombre, luego descarga el contenido. Entonces tuve que señalarlo. Así que no creas que vas a ver estos detalles
extra que
imprimimos aquí cuando
entramos aquí porque son dos trabajos separados y
corren dos contextos diferentes. Bien, quería explicarte eso. Así que vamos a la salida. Vamos salidas. Vamos salidas,
llamémoslo salidas. Contenidos
descargados, contenidos descargados.
Así que sólo voy a correr. Acabo de ejecutar un LS. Vamos LS. Entonces ese es este chicos. Todo bien. Entonces este tipo así que vamos a conectar
esto, llamemos a esto. Vamos a crear un problema para esto. Voy a llamar a este pipeline, descarga y salida de contenido. Tubería. Descarga y salida de
contenidos. Tenemos esto. Yo sólo puedo copiar esto.
Entonces entra aquí, luego comete EM, luego
usa aquí luego cierra. Vamos a empujar Bien,
vamos a darle seguimiento. Vamos a darle seguimiento. Creo que
esto ha pasado. Sí, ha pasado
por. Esto debió haber ido a las acciones. Entonces ha cerrado esto,
vamos a ir a las acciones. Vemos que esto ha puesto en
marcha, se puso marcha.Esto listo para comenzar.
Bien, así que ya empezó. Al igual que antes, posaré
este video y
volveré una vez que
termine esta compilación . Todo bien.
Nos vemos chicos. Bien, chicos, esto está hecho. Podemos ver la compilación completada con éxito en la tubería y la acción de imagen push o sección completada.
Vamos a explorar. Exploremos esto. Aquí donde estamos descargando artefactos. Así que fue capaz de descargar
un solo artefacto, prepararse para descargar, y en realidad
fue capaz de
ir a través y encontrar el
artefacto, Un artefacto Recuerda, tal vez te estés preguntando ¿por qué estamos viendo
un artefacto aquí Creo que no logré explicar
eso en el último video. Pasemos a la
sección Pero, a la sección Pero. Si vas a donde
realmente subimos, si vas a donde
realmente subimos, si miras hacia abajo, podrías ver que estaba
cortando todo Todo estaba zip así que solo
tenemos un archivo. Para Zip dos
solo tenemos un archivo, ¿verdad? Porque estábamos subiendo dos
archivos, pero estaba comprimidos. Creo que tiene sentido.
Le dije que los archivos no están dispersos o
probablemente sea manejado. Así que la cremallera cuando
llegamos a esta parte, pudimos ver que todo está descargando
solo un artefacto Yo quería señalarlo.
Digamos contenido generado. Entonces un total de uno
artefactos descargados. Veamos los contenidos. ¿
Puedes ver? Esto funciona. Esto es traer el objetivo, el Docker y el objetivo Oh, no queremos
el archivo de destino. En realidad queríamos la
primavera, ¿cuál es el nombre ahora? El resorte el archivo JA.
Estamos consiguiendo esto. Básicamente tenemos que
mirar exactamente qué hacer. Vamos a entrar a ver
lo que nos falta, ¿ verdad? Eso es lo
que nos falta. Todo bien. Así que entremos aquí. Sí, comprobando quiero volver
a explorar este
artefacto de descarga Subir artefacto. Creo que
quiero duplicar esto, vamos a duplicar esta pestaña. Déjame ir a descargar
subir artefactos, creo que el comodín
no está funcionando como se esperaba Echemos un vistazo a la tarjeta W. Se dice subir un
archivo individual todo un directorio. Esta es la parte que estaba recogiendo. Básicamente escogiendo todo esto. Pero queríamos un patrón de tarjeta W. Diciendo que queremos
que escojas un camino. Empezar entonces vamos a ver. Empezar a estudiar caminos objetivos, creo que
se supone que debemos usar esto, ¿
verdad? Se supone que debo usar esto. Un archivo cualquier dieta en el medio, luego cualquier archivo termina con.
Probemos esto. Probemos esto. Eso
debería estar mirando esto, entonces esto es negativo. Esto es una exclusión. No obstante, esto es un insumo, lo que tenemos, que
corresponde a esto. Voy a recoger esto
con impuestos la excreción. Entonces probaré esto
para ver si eso realmente funciona como
debería. Eso va a estar aquí. Ese será el
objetivo objetivo estrella, luego star dot jar. Entonces demostramos que está directamente
bajo el objetivo para da. Así que visto alguna ruta en el
medio no hay caminos, solo
buscamos el
archivo Ja Probemos esto. Probemos esto. Esperaba que
esto funcionara de cualquier manera. Vamos a ver cómo
funciona esto. Yo no comprometería esto.
Yo sólo lo ejecutaré directamente. No
lo voy a comprometer con un problema, solo
subo pruebas de pipeline. Carga de prueba. Veamos cómo se desarrolla
esto en realidad. Bien, para ver si
en realidad se ha subido correctamente. Voy a pausar
este video como de costumbre. Volveré una vez que
el Pero esté hecho, para poder ver si esto
realmente funciona correctamente. De lo contrario, si en realidad
no nos damos cuenta de esto, sólo
voy a seguir adelante. Solo usaré el viaje completo, y eso básicamente debería
solucionar este problema. Los veré
una vez que esto esté hecho. Bien chicos, esto está
hecho, así que vamos a comprobarlo. Bien, entonces estamos
preocupados por esto. Entonces veamos los contenidos
de salida. Todavía estamos recibiendo
lo mismo. Todavía estamos recibiendo
lo mismo. Estoy esperando solo
los otros archivos, dando todo el archivo de destino. Y no necesitamos
todo el archivo de destino. Esa es demasiada información. Lo que vamos a hacer,
voy a entrar y
luego traeré justo
ese archivo. ¿Qué hacemos? Vamos a saltar rápidamente aquí. Iré a la sección Pero. Vamos a la salida. Comprobemos nuestro subido los
archivos que enumeramos. Tenemos este archivo llamado
el muelle modular, entonces caso creo
que ese es el nombre spring Modulate Case que debe
seguir este patrón Si vas a este archivo, debes seguir este patrón, que es el curso de modulación de primavera entonces debes agregar
esto luego el frasco Eso es básicamente
lo que debería pasar. Entonces quiero que esto
se divida y escribe. Entonces voy a venir aquí,
sólo voy a poner esto aquí bien. Entonces deberías tener un 001. Vamos a traer
esta apéndice. Entonces creo que debería ser
guión, entonces no jar. Déjame confirmarlo. Entonces
vamos a venir aquí. Es un resorte causamos
guión esto aquí, se
puede ver que coincide Son partidos, ¿verdad?
Lo cual es bueno. Entonces en esto de aquí,
así lo notaremos. Bien, así que vamos a
entrar en esto y voy a publicar este video y una vez que esté
hecho, volveré, ¿verdad? Todo bien. Esto está
hecho. Vamos a revisar y este video
ya supera los 10 minutos, así que vamos a ver
qué subimos. Así que subimos dos archivos. Genial. Vamos a ver esto. Entonces estamos apuntando a esto. Vamos a empujar la sección Imagen y ver si eso realmente
descargó el madurar La una o dos salidas planas. Dame la carpeta de destino. Creo que sé
exactamente lo que es. Volveré en el siguiente
video y de hecho
vería por qué esto realmente está
escogiendo la carpeta de destino. Los veré chicos
en el siguiente video.
15. Inicio de sesión en Docker en pipeline: Oigan, todos. Z aquí. Lo que tenía que hacer, entré
y no cambié nada. Yo solo dije, déjame hacer un LS y hacer una L S
de lo que hay en archivo, esta carpeta de destino. Esto
es lo que me enteré. Cuando lo comprobé, pude ver que solo tenemos un
archivo, que es este. Pensándolo,
chicos, creo que esto funciona en nuestro freeboo.
Quizás te preguntes cómo. Ahora, recuerde nuestro archivo Docker
ejecutando este archivo Docker,
que pretendemos, este archivo Docker
básicamente buscará dentro de
la No creo que quiera cambiar esto, quiero
cambiar esto más. Tenemos que cambiar
este archivo Docker para que ahora
apunte al archivo JAR exactamente Eso no es exactamente lo que queremos. Creo que esto funciona en nuestro feboo así que no tenemos que
cambiar nada Simplemente déjalo en los ts y
esto funcionará directamente. Sólo quiero
señalarlo. Esto funciona. Entonces lo que tenemos actualmente funciona. Entonces, ¿cuál es el siguiente paso? El siguiente paso es, vamos a empujar la imagen. Vamos a empujar la imagen. Pero para empujar la
imagen, recuerden, necesitamos evaluar Docker
Hub. Estoy usando Docker Hub Porque estoy usando Docker Hub, si prestas atención
a por qué estamos haciendo el empuje Docker
teníamos una sección a la que en realidad
llamábamos teníamos una sección, que si pudiera recordar
correctamente en este momento, el nombre de la sección,
déjame sacarla Creo que son características
listas para la producción, si me equivoco, características
listas para la producción, ¿verdad? Sí. Creo que es una
producción lista características. Tenemos una sección llamada características listas para
la producción. Sí, eso es correcto. Eso es
correcto. Lo busqué. Recuerda que tuvimos que iniciar
sesión porque
ya estaba logueado, así que tuve que presionar para hacer. Aquí ha
pasado lo mismo. Recuerda, este diagrama, tenemos que una vez que hemos
enumerado el contenido, iniciamos sesión, luego
construimos y empujamos. Lo mismo que
vamos a hacer aquí. Entonces, ¿cómo lo haces? Primero que nada,
llamemos a este inicio de sesión de Docker. sesión de Docker. Debido a que
quiero iniciar sesión, estoy ingresando solo pierdo mi tiempo. Entonces hay otra
acción para el inicio de sesión de Docker. Vamos a averiguarlo. Todo bien. Así que terminamos con esto, así que
ya no lo necesito. Volvamos aquí. Volvamos aquí y
busquemos el inicio de sesión de Docker. ¿Tenemos algo
como el inicio de sesión de Docker? Docker iniciar sesión con config.
Es lo que estoy buscando. Llamemos a esto inicio de
sesión. Di Docker Vamos a llamarlo Docker. Creo que necesita la
acción que busco, conozco el nombre de
la acción porque el nombre de la acción
es log in action. Ese fue el que
usé físicamente. Iniciar sesión en acción, ¿verdad? una acción de inicio de sesión, acción de inicio de sesión de
Docker Déjame poner
el nombre exacto. Hacer acción de inicio de sesión. Acción de inicio de sesión. Docker inicia sesión en acción, creo que
esto es todo mal. Vamos a verlo. Esto no
está definido correctamente. Comprobemos este
. Inicio de sesión de Docker Es este Dal Login. Oh, increíble. Sí, ya
está. Esto es. Así que solo inicia sesión,
pasa tu nombre de usuario, pasa tu contraseña, y
debería estar bien. Así que
hsically eso es Pasa el nombre de usuario, pasa la contraseña, y
debería estar bien. Entonces eso es víscamente. Así que vamos. Ahora, recuerden, se espera un token Github Git up token. Entonces, usar tu contraseña directamente
podría no funcionar, ¿verdad? Usar tu contraseña
ditly podría no funcionar. Vamos a probar
ambos, y te diré exactamente cuál va a
funcionar. Así que vamos a saltar. Vamos a saltar. Así que
sólo voy a elegir esto. Ya lo tengo copiado en alguna parte. Voy a copiar esto
y luego saltar aquí. Salta aquí, entonces
simplemente voy a hacer clic en esto entonces. ¿Así exactamente como
deberíamos vernos? Sí. Todo bien. Entonces lo
siguiente que tenemos que hacer, lo siguiente que tenemos que hacer es agregar esto
a los secretos. Esto necesita ser
agregado para ser secretos. Conozco mi nombre de usuario, mi nombre de usuario
está bastante abierto ahora ahí. Se llama Eikoz pero la
contraseña en realidad se calienta. Voy a entrar y luego agregar mi contraseña,
luego volveré. Lo que voy a hacer, le voy a
copiar esto a este tipo. Sé que el
primero es nombre de usuario, el primero es contraseña, entra aquí
a las polutas, vayamos a Dispat
settings, secrets Entonces iré al medio ambiente.
La misma acción. Entonces tenemos que cablear en C. Así que tenemos que
cablear ambiente, Recuerde que necesitamos cablear
un entorno
para poder detectar lo que es
realmente hacer el uniforme. Voy a entrar aquí.
Entonces esto es acción. Viniendo Secretos secretos.
Ella los secretos. Nombre de usuario, paquetería. Solo publicaré esto y
volveré una vez que
haya subido esto. Solo publico esto y déjame agregar
rápidamente mi. Todo bien. Lo he añadido en. Así que muy chulo. ¿Cómo lo agregas cuando
estás en Docker Hub? Lo que debes hacer una vez
que hayas agregado en Docker Hub, solo tienes que ir al lado derecho,
ir a la configuración de la cuenta, otra configuración cuenta,
ir a seguridad Y bajo seguridad, puedes
generar en tu token SSIs. Entonces genera,
pone en el nombre. Entonces una vez que genera, obtienes el token. Una vez que haya obtenido el token, entonces simplemente copie el
token y lo use directamente. Entonces eso es lo que hice. Lo hice
para esto modular Aces token Así que lo he agregado a la variable de
entorno por aquí. Yo lo he añadido, así que
no podrás verlo. Entonces podemos usarlo directamente. Bien, entonces creo
que eso es lo que necesitamos. Sí, así que estamos aquí.
Así que vamos a estar seguros. Estos realmente
funcionan con éxito. Así que tenemos que estar
seguros si realmente
inicias sesión con éxito, ¿verdad? Entonces, si no funciona, este error de tendencia,
pero si funciona, esto básicamente funcionaría
directamente. Así que vamos a quedarnos fuera. Entonces vamos a
llamar a esto
vamos a llamar a este login,
pipeline, do login. Entonces llama a este pipeline do login. Todo bien. Así pipa y Doc iniciar sesión. Así que
voy a cerrar esto. Solo consigue commits. ¿Cómo consigo push? Bien. Justo como antes, voy
a publicar este video. Una vez que termine el gasoducto, volveré para
mostrarles cómo funcionó
realmente. Entonces nosotros para ver qué pasó. Los veré
una vez que esto esté hecho. Todo esto está hecho. Al regresar aquí, veo que
estamos teniendo el mismo problema, sesión de
Docker y
representante de paquetería, pero lo suministré Entonces, lo que probablemente pasó es el mismo caso que
realmente experimentamos aquí. El mismo caso que experimentamos donde tuve que agregar
esto manualmente. Entonces lo que voy a hacer,
volveré aquí para hacer esto también. Lo que voy a hacer, voy a entrar aquí. Entonces porque esto es correcto, Docker Undersco nombre de usuario, Docker
UnderscoPassword Y coincide con lo
que realmente tenemos en ajustes,
comprobaremos el entorno. Al medio ambiente,
comprobar la acción. Oh, bien. Entonces esto podría no funcionar en realidad, porque no especificé esta acción. Entonces esto
podría no funcionar. No especificé
el entorno, así que creo que ese error
podría ser para mí. Entonces déjenme
hacerlo rápidamente. Entonces hay que especificar el
entorno en el que se está ejecutando. Entonces estoy dirigiendo a este tipo. Verás, no
agregamos un ambiente, así que estoy dirigiendo a este tipo en
la acción del medio ambiente. Bien, entonces déjame empujar
esto diciendo que comete. Eso es entonces gasoducto. Pipeline, luego
agregó entornos para empujar la sección de imagen. Entonces eso básicamente cierra 34, aunque todavía no lo he creado. Entonces voy a llamar a esto hacer esto. Yo haré esto, luego
saltaré aquí. Entonces crearé un número,
haré esto, luego colocaré esto aquí, luego someteré y
eso es 34, ¿verdad? Sí, eso es 34. Entonces
podremos comenzar esto Entonces puedo empujar puedo empujar. Déjame
pasar esto rápidamente y volveré una vez
que esto
esté hecho, tú lo hiciste. Bien chicos, esto está
hecho, déjeme ir. Ese debería ser el último
134. Recuerda, 34. Esa es la identificación que usamos. Entonces entraremos
y revisaremos una
sección push me y haremos un
login. Ver triunfar. Sí. Esto nos lleva
a la última fase. Si miras esto
correctamente, esto triunfa. Sesión de imagen push, exitosa. Esto nos lleva a la última
fase, a la última fase. Lo que vamos a
hacer lo que vamos a hacer es que solo necesitamos empujar la imagen. Eso es todo lo que queda. Sólo tenemos que empujar la imagen. A esto lo llamamos carril, luego Octo cd esta imagen de empuje Eso es lo que tenemos
que hacer, empujar imagen. Después luego procedemos a decir
así que añadimos para empujar la imagen. Lo genial es que
tenemos otro inicio de sesión más. Tienes otro. Eso
funciona exactamente de la misma manera. Entonces ya tengo esto
ya copiado en alguna parte. Así que solo búscalo. Se llama la acción push
image, ¿verdad? Es la acción push image. Entonces la pushiección.
Creo que esto es todo. Empuje la imucción. El último
que utilicé fue la versión cinco. Ahora es la versión seis. Creo que ahora es la versión seis. Bien. Seis eso es lo que uso. Ya veo, ¿así es como se llama? No, no, esto esto. Veamos
este empujón de apuesta de Docker. Al parecer ahora
este Scott Docker. Componer servicio push image. Es Docker Pero empuja. Ya que hay tantas
opciones en estos momentos. Me resulta difícil
ver exactamente la misma. No, no, no. Busquemos esto. ¿Qué es probar esto Appaly no esto? Creo que he probado esto
prueba esta C pequeña conserva. lejos, ya sé el exacto a usar.
Yo hice una investigación. Investigué un poco.
Intentemos esto, probemos esto. Al parecer, no esto también.
Investigué un poco, así que sé exactamente qué es. Entonces se supone que debe ser, se
supone que es este tipo. Lo hago en todo lo demás. Yo sólo empujaré. Yo sólo lo agrego aquí. Solo lo agrego y te
explicaré los detalles. Esto sería usos es
la conversión cinco. Estos videos lo consiguen largos. Simplemente publicaré el
video aquí y los
veré chicos
en el siguiente video.
16. Imagen push en Docker de pipeline: Oigan, todos, aquí. Pude localizar la
acción que realmente necesitábamos. Este es el nombre de la acción. Creo que por qué en realidad
lo encontré difícil porque ahora está en la versión seis, y estaba usando la versión cinco. Lo que voy a hacer es
que voy a cambiar a versión seis para que
podamos ver cómo funciona. Así es exactamente
como se ve, y espera
que uses una configuración Dux Esto es muy clave, inicias sesión
y los me gusta pero
ya hemos completado este paso en
cuanto a iniciar sesión y los me gusta. Esta es la acción de empuje que
hemos completado esto. Esta es la parte que
se supone que debes usar ahora mismo, que en realidad nos
dio un problema. Entonces también espera
que uses un Bx,
este Brex para configurar una sección
Bex, Esto en realidad
son bastantes detalles, pero en realidad he entrado a modificarlo para que eso
funcione. Creo que jugué los
proyectos que realmente hicieron eso. Entonces así es como se
supone que debe funcionar. Usted acaba de poner el buder
y poner el Bex. Entonces necesito estar seguro de
que estos pasos, el Brex realmente existen, ¿verdad? Estos pasos, los constructores
realmente existen. Entonces eso es exactamente lo
que vamos a usar. Entonces la sección Bex es lo que
realmente vas a pasar aquí. Entonces las salidas el nombre. Entonces esa sería básicamente
la salida de este tipo. Entonces voy a ir a ver si este contexto existe y
Builder existe o
existe archivo en la versión seis, puedes jugar con la versión seis. Entonces eso es lo que
voy a hacer. Entonces me gusta usar las últimas
actualizaciones de cosas porque significa que
en realidad probablemente hayan hecho algún trabajo del que no
conocemos. Entonces iré a la sección de
archivos, entonces. Entonces esperando un
contexto contexto aquí. Sí, hay un contexto.
Se encuentra un archivo eri. Entonces hay un archivo o
sí, hay un archivo. Entonces, ¿es un Constructor? Oh,
sí, eso es un constructor. Bien. Entonces creo que esto
es lo que necesitamos. Sí, esto es básicamente
lo que necesitamos. Entonces esta parte es
lo que necesitamos ahora. Si miras esta compilación,
si miras esto correctamente,
esto es dar los pasos, el nombre del punto BDExoputs Y esto realmente parece un ve
dentro de uno de estos archivos. Entonces ahí es donde es bueno
realmente averiguar. Entonces déjame cambiar esto para que me permita cambiar esto
a una versión seis. Por favor entonces, entonces cambia
esta versión enferma. Bien, entonces se
supone que esto debe estar ahí. Entonces seguiré adelante y cambiaré. Esto es de uno de
mis proyectos anteriores. Entonces lo que estamos usando
es modular. Entonces con override lo que ya
tenemos,
recuerda, si estás empujando, tienes que empujar
a tu nombre de usuario,
tu nombre de usuario, luego
recorta los proyectos Bien. Entonces esto
hará todo el edificio y empujará a Docker Hop, ¿verdad Entonces déjame comentar esto. Me comprometo es llamar a
este push pipeline push. Ojalá no consigamos errores. Entonces llámalo tubería push
docker bead y push. Esto sería 35, creo, porque la última vez
alrededor fue 34, ser 35. Voy a copiar esto. Entonces todo un problema.
Salir de un problema. Señor, creo que voy a buscar un
proyecto Quate un tema, entonces aquí dentro Deja de emitir, eso es 35. Entonces ya tenemos esto aquí. Yo sólo pegaré esto. Empuje. Empujen, chicos, yo solo
publicaré el video aquí. Volveré con ustedes
una vez que se haya hecho esto, para que no tengamos que esperar
mientras esto esté cargado. Bien, los veo
chicos. Chicos, esto está hecho y esto se
completa con éxito. Genial es genial. Lo que hacemos
es ir a Docker Hub, confirmaré y refrescaré esto Y se puede ver esto fue
empujado hace 1 minuto. Tenemos nuestra imagen. Esto
es totalmente automatizado. Esto es totalmente automatizado. Un cambio
más quiero hacer. Estaba usando la Versión
cinco aquí donde vimos esta Versión
seis disponible. Vamos a probar la versión seis.
Vamos a probar la versión seis. Lo que voy a hacer,
simplemente voy a dejar esto como está, toda la otra configuración
y solo voy a empujar. Voy a solo un push Pipe y
Lou push versión seis, luego cierra 36, ¿verdad? 36. Entonces copiemos esto. Sólo quiero ver si la
versión seis está funcionando. Si no está funcionando, solo
revertimos. Bien, entonces déjame ir. Vamos a recoger esto.
Vamos a conseguir un problema, un número
nuevo, menos que pegar. Se mordió un empujón seis. ¿Bien? Bien, así que omita eso. Entonces viene esto y empuja. Bien. Todo bien. Entonces chicos, sí quiero ir
al video una vez más
si están confundidos. En cuanto a este miembro del partido, tuve que agregar mi token
aquí aparte de la contraseña normal de Der,
necesito mencionarlo. Esto se ejecutará. A ver. Empujado con éxito, vaya a Voy a ir a mis acciones.
Entonces esto se inicia. Yo solo publicaré el video
cuando esté hecho.
Volveré con ustedes. Veamos la versión seis funciona. Bien, chicos. Sí, esto está hecho. Vemos todo
completado con éxito. Así que vamos a echar un vistazo a la imagen
push otra vez, ¿verdad? Entonces puedes ver como de costumbre, está usando Emas Koreto Está usando nuestro archivo Docker. Es edificio y todo funciona como debería. Simplemente
puedes confirmarlo. Esto fue hace 1 minuto,
vamos a refrescar esto. Bien, así que a falta de
1 minuto para el final. Esto es muy reciente. Bien, entonces hemos podido completar
esto y esto es básicamente lo que quieres hacer para
construir tu imagen. Cualquier paso adicional que quieras
hacer que probablemente tire la imagen de Docker Hub y luego se
mueva a otro registro Podrías agregar más
pasos a esto, agregar más pasos o
agregar más trabajos que se están ejecutando en secuencia a esto. Podrías subir la imagen,
tirar de la imagen subir. Básicamente podrías hacer cualquier cosa. Ahora, la idea
es hacerte
entender que el pipeline
es algo difícil, o más bien solo para que tengas en el fondo de tu mente que se
trata de
pasos manuales de automatización que estás haciendo, solo quieres probablemente
automatizar y
usamos la acción Gear para
lograr esto y todo funcionó
como realmente esperamos. Mirar este archivo a la
vez puede parecer desalentador. Pero pasando paso a paso, como explicamos todos los
videos, estoy seguro de que esto
realmente funcionaría. Básicamente tú para que realmente
sigas adelante. Gracias chicos. Entonces hay una última
cosa que quiero mencionar. Recuerde que tuvimos que agregar
esta configuración moviendo mientras la mudanza predeterminada
que estaba incorporada en el contenedor Binto no
se estaba ejecutando Entonces podrías notar, como resultado, podrías notar que este caché
no está entrando en acción Por alguna extraña razón,
no está pateando. Mi analogía en realidad demostró que esto es porque
en realidad agregaste esto Probablemente antes de agregar esto, por favor ejecute esto
directamente. Es posible. La película podría entrar
en acción. Tal vez solo haya algunos problemas predeterminados y es posible que no tengas que
agregar esto realmente. Con eso hecho, les
agradezco chicos que se quedan conmigo. Realmente agradezco el tiempo y los
veo chicos en el siguiente video.
17. Secretos de env en tuberías: Hola a todos. Z aquí. Bien, entonces estamos de vuelta. Nosotros como paramos esto y estamos tratando definir toda la variable de
entorno. Recuerda, hicimos una pausa de
construir nuestro archivo de acción. Diciendo queremos definir
esta variable de entorno. Ahora, se podrían ver varias
acciones por ahí, donde definen
toda la variable, pero esto está bien. Esto funciona. Funciona con precisión. Bueno, entonces significa si necesito realmente
cambiar alguna variable, ¿verdad? Si necesito cambiar
alguna variable, tendría
que renombrarla aquí, tengo que entrar
aquí, cambiarla, luego empujar a GitHub. Y eso es lo que
hago. Eso es lo que hago. GitHub realmente nos da ofertas donde realmente
podríamos guardar sobre todas nuestras variables
junto a nuestros secretos, ¿verdad? Vilas, ¿qué son secretos? Los secretos son como tu nombre de usuario, tu contraseña, datos sensibles que no deberían estar
abiertos a nadie. Yo entiendes, estos son secretos y estas son tus variables de
entorno. Entonces secretos variables, vamos a
explorar eso ahora, ¿verdad? Entonces saltemos a
Github. Esto es GitHub. Ahora, digo, aquí
es donde
tenemos nuestras acciones. Nuestras acciones están disponibles aquí. Ahora, estoy diciendo dentro de la
primavera modular curso, que es sutil
porque vamos a ir a los ajustes.
Déjame ver los stans. Ahora mira aquí abajo,
puedes ver que hay un ambiente. Ahí está
el ambiente. Vayamos al medio ambiente. Ahora, dice que
no hay ambiente. Al parecer, no
hay ambiente. Vamos a etiquetar
qué entorno quieres tener ahora. Piensa en entornos
como tu perfil, ¿verdad? Piensa en tu perfil. Recuerda que
en realidad podrías tener cosas como una producción Dev UAT para tu aplicación
la aplicación Yao
de propiedades, ¿verdad Entonces pensémoslo, pensémoslo con
respecto a esto, ¿verdad? Así que en realidad podrías tener un
entorno Dev , un entorno
Docker Entonces voy a etiquetar esto porque Dev estaba en mi
sistema local, todo era raro. Estoy más interesado
en mi
entorno docker porque aquí
es donde tenemos algunos detalles que necesitamos para realmente cablear las
variables y los secretos Voy a entrar aquí,
voy a llamar a esto, ¿cuál es el nombre de
mis ambientes? Voy a llamar Docer a mi entorno. Vamos a configurar mi entorno. Este es mi entorno. Entonces
podrías establecer reglas. Si hay una
organización, ya sabes, Github es una característica de
organización donde podrías tener
colaboradores, ¿verdad? En realidad podrías hacer eso y empezar a establecer tus puntos de vista,
pero este no es el objetivo. Voy a
saltar a lo que necesitamos. Entonces lo que necesitamos es que tengamos secretos de
entorno y variables de
entorno. Entonces esto es lo que
vamos a estar definiendo aquí dentro de nuestro Docker Recuerda el entorno Docker. Por lo que esto se definirá dentro
del entorno Docker. Entonces, si tienes una producción, significa que creas
otro ambiente más, entonces vienes aquí. Ahora creas otro
entorno más en esta ocasión, probablemente nombre o producción. Asegúrese de especificar este entorno
de producción dentro de su archivo de acción
y que vea hacer. Queremos explorar
esto. En primer lugar, definamos nuestras variables. ¿Cuáles son nuestras variables? De hecho, he esbozado
algunos de ellos aquí. Déjame venir aquí. Entonces estos son variables. He seguido adelante para separar
cada uno de ellos, para separar a cada uno de ellos. Entonces tenemos cosas como los modos tenemos el nombre de usuario
modular, contraseña Dije, configurar la variable de
entorno. Entonces cualquiera que veas coloco
una V aquí es una variable, cualquiera que toque una S es un secreto. Estos dos pueden
etiquetarse como secretos y todos estos pueden
etiquetarse como entorno. Entonces es una elección. Puedes
decidir cuál quieres colocar como sec o cuál
colocar un ambiente. Si tienes una IP que
yo quiero no
quieres exponer no quieres que
nadie vea físicamente, sin embargo, es un secreto. Podrías simplemente
llevar a cabo por ejemplo la IP la IP del host. Colócala en secreto, solo
quiero mostrarles chicos que tienen estas
opciones para explorar realmente. Déjame ver si podría
separarme si puedo unir mis dos pantallas.
Entonces hagámoslo. Bien. Voy a entrar aquí y
voy a decir, voy a elegir esto. Quiero la variable. Lo siento.
Yo elijo la variable. Quiero la
variable de resorte, ¿qué estoy haciendo? Entonces mi variable e
intercambiado Docker. Recuerda que es Docker. Recuerda que esto es exactamente
lo que pasamos
al perfil de giro mencionado esto anteriormente al archivo
Docker, ¿verdad Entonces agrego la variable.
Fresco. Ahora tenemos esto. Vamos a agregar más, ¿verdad? Agreguemos más. Agreguemos
otra variable. Al siguiente, voy a
elegir al anfitrión. Mi anfitrión es intercambiado
puesto Local. Sustantivos es puesto Local Fresco. Vamos a escoger el siguiente
siguiente es ollas. Oh, ¿son las ollas? Hola 43, dos, cuatro, tres, dos. Fresco. Lo que es lo siguiente
es nombre de base de datos. Muelle Modulf. Ahora bien, ¿qué pasa si
esto no está disponible? Sencillo. Si esto no
está disponible, simplemente
puede
venir fácilmente aquí para verificar, verá que hay una edición incorporada aquí. Vienes aquí y editas. Vienes aquí y
editas rápidamente. Esa es la ventaja. Para que no tengas que
redesplegar tu archivo de acción. También tenemos una propiedad llamada
la proporción de eventos de eliminación, que usa ahora estamos
publicando los eventos fallidos. En realidad usamos 4 mil.
Vamos a pres esto aquí Fresco. Entonces tenemos otro llamado los puntos finales del actuador, los extremos que desea
exponer, 10.1 para exponer Este es el valor que
colocará en el modulit. Fresco. Así que en realidad hemos
podido
configurar esto ahora para el secreto. También configura el sequit que
es el nombre de usuario modulit, que es modulits Vamos a establecer esta contraseña mult. También es el mismo modular. Todo bien. Bien. Ahora
esto es increíble. De hecho tenemos esto, y
creo que esto es lo suficientemente bueno, ¿
verdad? Esto es lo suficientemente bueno. Chicos, vamos a configurar esto. Los veré chicos
en el siguiente video mientras seguimos procesando. Los veo en el siguiente video.
18. Cierre de pipeine: Yay, defiéndete al campeón,
defiéndete por el campeón Mira quién está aquí, el campeón. Te estoy refiriendo para que llegues a esta
sección del curso, no sólo
entiendes el módulo, ahora ya sabes cómo
construir el pipeline del CICD Simplemente puedes recoger
el conocimiento y
aplicarlo donde sea en cualquier plataforma. Funciona exactamente de la
misma manera, ¿verdad? Mi trabajo o mi propósito es transmitir este conocimiento que tienes amasa ahora te pertenece ¿Por qué no te vas y
muestras esas habilidades? ¿Bien? Ahora se puede desarrollar
el pipeline de CICD Ahora ya sabes cómo
usar un pipeline CICD. Ya no es un misterio, ahora puedes desmitificarlo La acción Gill es solo una
de sumergirse en Azure, sumergirse en cualquier otra plataforma Recuerda, el secreto clave es, saber lo que quieres lograr, poner paso a paso. Todo usa
el mismo proceso. Utilizan conceptos como
trabajos, conceptos como pasos y similares, y también puedes inyectar secretos y variables de
entorno. Estoy tan feliz de que estuvieras aquí, ahora has
podido realmente lograrlo. No obstante, como dije, como mencioné en el último
resumen de la primera clase, hay una sección más,
que es la sección final,
que es Kubernetis Kubernetis son algunos lo llaman KHS. Esa es una plataforma muy
emocionante. Seguro que has
oído hablar de Kubernetis. Esta es una oportunidad
para que realmente ahondes en Kubernetis y
va a ser achilrating Te puedo asegurar que
va a ser maravilloso. Voy a tomarlo de
paso a paso
lo voy a tomar desde el mismo cero y voy a ir paso a paso. No tienes que preocuparte, no
sé exactamente
qué significa esto. De hecho vas a llegar a
ser muy familiar. Y convertirte
en maestro en poco tiempo, entonces
puedes seguir adelante para
aplicar ese conocimiento. Espero verte
en la próxima clase. Recuerda, revisa lo antes posible. Consulta el acerca de la bañera. Te
dejaré un enlace ahí, llévelo a la siguiente clase. Espero que
en verdad vengas conmigo. Nos vemos en la siguiente clase.