Jenkins and Ansible
Alright so I figure I'll put down my thought on Ansible and Jenkins along with all the source code. At the risk of being condescending I will start at the beginning. Jenkins is a web-based utility for running commands in a terminal on a remote host. Ansible is a program that is run in the Linux terminal. The way I use these together is to use Jenkins to run Ansible. Ansible itself actually runs on the Jenkins host, and it connects to hosts based on inventory files. This requires having a working SSH key in place on your remote endpoints.
On my own Jenkins instance I use Github to sync my Pipelines with jenkinsfiles on my server, along with LDAP and OIDC which is way more complicated than a standard Jenkins setup. Along with that, I use an open-source project to host all my pipelines and playbooks in a website, which itself is hosted behind my SSO. I have that running in a docker container, with the paths of the ansible playbooks and jenkins pipelins in it so they can all be viewed and edited in the browser. I also have my container customized so I can sync my github from the built-in terminal in the browser. I will include some screenshots of all this also.
Let me start with my own Jenkins. I have recently shared my jenkinsfiles on my Gitea instance. To show how this works I will use the update-endpoint pipeline I have as an example. Most of my pipelines have the same stages of Generate Inventory File, Ansible Playbook, and Remove Inventory File.

