git-find-value
=> [IMG]
[1]
Hoy falló un deploy, de esos que hay que hacer por las noches y que obvio, al fallar hay que ver de corregirlo o deshacer todo aunque en este caso no basta con presionar CTRL-Z
, es un poquito más complejo!
Cuando miro los logs buscando el error, detecto algo que nunca antes sucedió en las pruebas de este release, rarísimo, al investigar un poco más doy con el error, por algún motivo el job~template~ de [AWX]{.underline} clonó la versión v0.4.0
de un repo en lugar de la 0.7.2
WTF!
Yo recordaba que la variable global para el entorno productivo estaba definida como master
y NO podía fallar, debía clonar la última versión estable, pero realizando un diff
veo que la variable freeipa_sssd_tools_git_version
no estaba definida en PRD y sin embargo si estaba globalmente con el valor v0.4.0
Pero si la última vez, deployamos master
(en ese momento v0.6.1
), entonces qué sucedió?
git-find-value
al rescate!
Recordé que hace un tiempo hice el script git-find-value
que permite buscar un valor en un archivo de un repo git
y mostrar qué valor tenía en cada tag
, en este caso fue claro, no hubo duda alguna, globalmente en el inventario nunca estuvo definido como master
:(
# git-find-value freeipa_sssd_tools_git_version group_vars/all.yml v0.7.1 freeipa_sssd_tools_git_version: v0.3.0 v0.7.2 freeipa_sssd_tools_git_version: v0.3.0 v0.7.3 freeipa_sssd_tools_git_version: v0.3.0 v0.7.4 freeipa_sssd_tools_git_version: v0.4.0 v0.7.5 freeipa_sssd_tools_git_version: v0.4.0 v0.7.6 freeipa_sssd_tools_git_version: v0.4.0 v0.7.7 freeipa_sssd_tools_git_version: v0.4.0
Y en PRD si estuvo como master
, pero en los tags v0.7.6
y v0.7.7
, y justamente hoy estaba estrenando tag v0.7.8
# git-find-value freeipa_sssd_tools_git_version group_vars/prd.yml v0.7.6 freeipa_sssd_tools_git_version: master v0.7.7 freeipa_sssd_tools_git_version: master
Un simple git diff
entre 2 tags y pude ver dónde perdí algunas variables, las pasé por alto, porque el enfoque estaba en otro cambio más trascendental.
Gracias a comandos como git-find-value
^1[2] puedo rápidamente resolver conflictos sin perder tiempo en la web, buscando como resolver algo puntual que es poco frecuente y que seguro olvidaré rápidamente, éste y otros scripts de git
están disponibles en git-bash-utils
^2[3]
Para resolver éste error y otros menores, tuve que generar varios releases de varios repos y esto lo pude resolver rápidamente gracias a otros scripts de Ansible Tools
^3[4] y GitLab Bash Utils
^4[5] para obtener finalmente un deploy como estaba planeado, sin errores y garantizando que todos los cambios estén versionados!
2023-03-07 23:39
[10] agregar find value in all git tags using git-find-value
=> 1: file:img/git-find-value-fist-git-version.png | 2: https://gitlab.com/osiux/git-bash-utils/-/raw/develop/git-find-value | 3: https://gitlab.com/osiux/git-bash-utils/ | 4: https://gitlab.com/osiux/ansible_tools/ | 5: https://gitlab.com/osiux/gitlab-bash-utils/ | 6: 2022-10-20-como-migrar-6300-equipos-a-gnu-linux-usando-ansible-y-awx.gmi | 7: 2022-10-08-automate-deployment-of-AWX-resources-with-GitLab-CI-CD-and-ansible-tools.gmi | 8: 2022-08-21-howto-use-gitlab-from-command-line.gmi | 9: 2021-02-05-ansible-awx-tools.gmi | 10: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/499f7363d2a4f94e457ef89975de33b2a4fcf018 This content has been proxied by September (ba2dc).Proxy Information
text/gemini;lang=es_AR