Acá es: GitLab, tomó un repositorio que se llama awx, donde yo le
envié el código que quiero que se publique en AWX y lo que hace es,
revisa eso, se lo manda al AWX de Desarrollo que es el lugar donde
podemos romper, manda la plantilla y cuando manda la plantilla, yo le
puse…
A ver si se ve un poquito más arriba… Me falla el scroll… A ver…
No me deja ir más arriba, bueno… Acá lo que me dice es…
Algo que le pusimos al deploy es, che, fallá si no encontrás la
documentación de esta plantilla, porque si no nosotros, hacemos
plantillas y después cuando la quieren ejecutar dicen, qué hace esta
plantilla? Y ahí decís, te mando un mail.
Bueno, entonces, ya en el Desarrollo, si yo no estoy haciendo la
documentación de esta plantilla, ya esta fallando, esta diciendo, es un
recordatorio, mirá que tenés que acordarte de hacer la documentación, y
no me va a dejar pasar, hasta que yo haga la documentación…
La documentación después puede decir… Este título… Je je y nada más!
Pero bueno, es un chequeo y es un chequeo básico, pero que funciona.
Ahora vamos a ver, en ese caso no funcionó, más adelante, el primer
circulito Verde es, Desarrollo, el segundo es Staging, vamos a
mirar que hizo el deploy…
Y acá tenemos… Este… Vamos más arriba… Más arriba… Mucho…
Ahí… Bueno…
Esta ejecución… Cuando uno hace un push de código, es..
Se baja las ansible_tools para tener la última versión disponible, se
pasa al branch de Desarrollo, porque estamos constantemente en
Desarrollo, genera las credenciales para configurar el acceso para
GitLab pueda entrar a AWX Desarrollo, con el usuario de
Desarrollo, que le permite disparar ejecuciones
Queda ahí el registro entonces que…
Y fíjense que queda ahí esta el MASKED, se ocultan las credenciales,
no queda ningún secreto en el log visible
Dice exactamente con qué versiones se configuró, que branch esta
queriendo correr, el pull que hizo para obtener la última versión, y
acá lo que esta deployando, en este caso eran unos grupos, entonces se
fija que este el grupo, que queremos…
Y en este caso, esta haciendo una actualización de variables, este…
Que esta cambiando unos textos, nada más, algo que podría cambiarlo algo
a mano
Lo que sucede es, que este cambio que había que hacerlo a mano, hay que
hacerlo en un montón de lugares, varias veces
No se, como… Era… eee…
9 cambios en 3 inventarios por 3 grupos cada inventario, es
muy fácil, aunque hagas copiar y pegar, que en alguno te quede distinto!
Entonces la solución es hacer código y que este código, sea testeado por
una herramienta automatizada, digamos que…
No tiene corazón, va a fallar ante el mínimo error, no te va a dejar
pasar una!
Y en este caso que esta haciendo cambios de variables, de lo que vos
versionaste, con lo que esta en el servidor de AWX, te va a mostrar un
diff del cambio!
Entonces, si hay algo, que tenía que estar y está en AWX y esta bien
que esté en AWX, pero lo editaron a mano y nosotros no llegamos a
versionarlo como deberíamos, bueno al menos en el log esta, y vamos a
poder ver ese cambio de ser necesario.
En este caso son este… eee… Cambios menores, pero bueno…
El ejercicio de hacerlo una y otra vez de manera automatizada, garantiza
la calidad del código que finalmente llega a producción.
Y para que esto llegue a producción, o sea, esto mismo lo hicimos en
Desarrollo, y si volvemos a la página anterior…
Ese mismo commit, en el «circulito» que sigue acá, lo hace en stage
y stage es más parecido a Producción, porque nadie lo esta
operando…
Este eee… Y es casi como deployar en Producción!
Si me da bien en Desarrollo, también me tiene que dar bien en Stage
Y para que pase a Producción, esta ejecución, actualmente lo que
hacemos es… Le echamos la culpa a «les SysAdmines»
Si tienen un problema es problema de SysAdmins!
Bueno… Esto no fue Desarrollo, pero es la misma herramienta
automatizada, son los mismos pasos!
A veces sucede que nos encontramos que hay diferencias de entorno,
recuerden que es muy difícil, tenemos un entorno con 6300 equipos en
Producción, es muy difícil de reproducir y simular!
Entonces, bueno, pasamos varias instancias y a veces llegan errores,
normalmente, lo descubrimos eso y lo corregimos y lo volvimos a pasar
por la interfaz de GitLab hasta que dé OK y ahí recién lanzamos la
versión a producción.
Esto lo que yo veo como que, es una persona que trabaja por mí en
testear, que es algo que es bastante aburrido, digamos…
Y si yo disparo la ejecución, ni siquiera disparo, ni siquiera entro al
GitLab, o sea yo estoy en mi línea de comandos, hago git push y me
voy a hacer un mate tranquilo, me voy, cuando estoy en la cocina,
GitLab me va a avisar, me va a mandar un mensajito «no anda nada»,
fijate que hacés, volvé!
Mientras vos disparas esa ejecución, no te tenés que quedar mirándola,
te podés poner a hacer otra cosa, otra tarea al mismo tiempo!
Y después más tarde vas, revisas y vez si pasó, en un equipo de
Desarrollo que somos varias personas, es decir, si alguien esta
teniendo un inconveniente con una tarea…
Tener una reunión virtual para ver que estaba haciendo, que te cuente lo
que pasó, durante los últimos 3 días, para tratar de entender lo que
esta pasando, es una pérdida de tiempo!
Es mucho más simple ir, bueno a ver cuál fue el Job que ejecutaste, el
último, bueno, vas mirás ahí y tenés todo el contexto necesario para
saber que hizo, este… Yo…
Mi tarea y lo hago conmigo mismo, digamos no es que no tenga corazón,
es…
Tengo mi compu llena de capturas donde digo «ahhh, esto acá esta
mal!»
Y lo hago todo el tiempo porque, llega un momento que hay tantos valores
que es muy difícil entender
Es muy difícil, ver dónde esta el error, es como todo el tiempo jugando
a las 7 diferencias!
Entonces GitLab te va avisar y te va a tirar, «che acá hubo un
error», pero a veces hay que tratar de entender ese error, entonces
señalarlo!
A veces, el error es, vos mismo pusiste un valor, que no debería haber
ido, pero bueno, llegó, y eee…
Para simplificar esto… Salgo de acá…
Tengo por algún lado… A ver si lo encuentro por acá… Creo que acá…
Acá…