Implementing Ansible AWX — Gitlab integration

Implementing Ansible AWX — Gitlab integration

Ansible AWX (or its commercial counterpart, Red-Hat's Ansible Tower) is a Web UI driven tool for enterprise deployment automation based on Ansible. Gitlab is an increasingly popular git-based repository manager with a lot of side-options. The two can really play into each other's strengths with a bit of tinkering.

Ansible AWX (or its commercial counterpart, Red-Hat’s Ansible Tower) is a Web UI driven tool for enterprise deployment automation based on Ansible. Gitlab is an increasingly popular git-based repository manager with a lot of side-options. The two can really play into each other’s strengths with a bit of tinkering.

AWX really wants to be deployed into Kubernetes or a similar docker-based orchestration solution like OpenShift - just read the docs. This means it wants to be as stateless as possible following the K8s core philosophy, which consequently also means you should store all your plays, inventories and roles somewhere else — which is where Gitlab kicks in.

To be honest, I tried to circumvent the AWX intended deployment scenario for a while and while it worked, it was nowhere near optimal. For instance, I deployed an unofficial RPM-based AWX distibution into a CentOS VM, installed additional prerequisites directly into it’s virtualenv, played around fixing various path so the AWX Ansible worker can find them, etc. But it wasn’t elegant — it was more of a hack job, which made any upgrade or change of workflow a pain to plan or execute.

awx gitlab-ci ansible kubernetes

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

50+ Useful Kubernetes Tools for 2020 - Part 2

Our original Kubernetes tool list was so popular that we've curated another great list of tools to help you improve your functionality with the platform.

Creating CI/CD Pipeline With Gitlab and DigitalOcean Managed Kubernetes

Developer advocates from DigitalOcean and Axelerant discuss DigitalOcean Managed Kubernetes (DOKS) and Gitlab CI/CD pipelines, and demo how to integrate Gitlab with DOKS.

GitOps in Kubernetes with GitLab CI and ArgoCD

What is GitOps? GitOps in Kubernetes with GitLab CI and ArgoCD

Microtica vs. GitLab CI | What Are the Differences?

Microtica and GitLab CI both have the goal to efficiently and reliably deliver software in the cloud. Although both tools. The differences between the core concepts are significant.

Kubernetes in the Cloud: Strategies for Effective Multi Cloud Implementations

This article explains how you can leverage Kubernetes to reduce multi cloud complexities and improve stability, scalability, and velocity.