I came into a new project recently. One of the challenges was that the CICD pieces almost worked for developers, but fell short and all of the QA was being done because of that on the developer’s local laptop. It works on my local… Actually and in fact. Each developer would announce to the group…
Continue Readingansible
Bring in Git Submodule Code
So far git submodules are working for centralized code that repeats in use across repos and even organizations, and doesn’t change much. But one thing I run into constantly is where the code is for a repo I’ve just cloned that has a submodule, and even new repos as we re-architect some of our builds….
Continue ReadingNebula-in-a-Box POC Completed…
Nebula-in-a-Box actually works now. The latest problems were in ssl certificates, vault, consul, DNS, internal addressing, tuning consul to run as basically a single master instance (not designed for that). The Nebula-in-a-Box orion instance comes up now with consul fully functioning as service discovery and DNS. It registers and interacts with the local vault. The…
Continue Readingansible Troubleshooting
I am working through an ansible play setup where a notifyCommit from GitHub (or a curl from the command line…) goes to a Jenkins controller which pulls a Jenkinsfile to guide a pipeline build out of the repo and then that Jenkinsfile first calls an installer.yml play. That installer construct is a git submodule in…
Continue ReadingSSL and Consul Service Discovery
Nebula is an Open Source CICD pipeline. It was developed using Jenkins, ansible, packer, python and AWS as an end-to-end CICD product, distributed across individual self-healing clouds, so recoverable and massively scalable. Spun down to minimize cost in AWS when idling. I started about four weeks ago to bring all of the products together on…
Continue ReadingShip Inside of a Bottle, Repeat
…in other words, DevOps. Github sends a notifyCommit message to Jenkins. That message passes through the Jenkins git plugin, which triggers a job if (1) there is a job configured with a git url matching the notifyCommit git url, and (2) there is a change to the code. If the job does not already exist…
Continue ReadingOrion – Default Values in Ansible Plays
I wanted modular code – edit in one place, use in many. I started trying out git submodules. They were cool, but static. Changing code bases would be a pain to keep track of and manipulate. But the separation of ansible role and builds. allows us to immediately reuse code. I’m building a single instance…
Continue ReadingPulling in Ansible Variables Explicitly
…, or Templating GitHub Branch Source Org config.xml I created a yaml file ghe_config.yml to provide the values for a jinja template which created the GitHub Branch Source Organization config.xml for a Github organization on Jenkins. These were brought together by an ansible play that explicitly pulled in the ghe_config.yml values and then pushes those…
Continue Reading…Rethinking git submodule
I constructed five of our jenkins agent AMI builds into an ansible_role-jenkins-[function]-agent piece, and then an aggregation jenkins pipeline build repo. The idea is – code from the role(s) are layered in the jenkins pipeline build repo. For example the base agent build (all the basic stuff we want on all of our agent AMIs)…
Continue Reading