Sin entrar en detalles, la secuencia de pasos automatizada es la
siguiente:
- La persona hoy conicida como DevOps ejecuta
git push - GitLab recibe los cambios y ejecuta
json-lint - Luego se configura el entorno definido en
AWX_ENV mediante awx-config - Se envían los teams usando
awx-cli send team - Se envían los projects usando
awx-cli send project - Se actualizan los projects enviados usando
awx-cli update project - Se envían los inventories sources usando
awx-cli send inventory_source - Se envían los inventories usando
awx-cli send inventory - Se actualizan los inventories sources usando
awx-cli pdate inventory_source - Se envían los job templates usando
awx-cli send job_template - Se envían los workflows usando
awx-cli send workflow - Se otorgan permisos para todos los recursos usando
awx-cli grant
Si no hubo ningún error, se obtiene Pipeline Success y la revisión en
curso queda disponible para ejecutar en AWX :)
Si hubo algún error, basta con observar la salida del Job fallido y
realizar los cambios necesarios en el repositorio awx.git, efectuar un
commit y al ejecutar nuevamente git push, GitLab se ocupará del
deploy.
Si fue exitoso el deploy en awx-dev, en otro stage se realiza el
mismo deploy en otra instancia de AWX.