The last post link below, I got introduced to a CI System and basics of it.


This post goes further in actually using the CI system.

All the code is hosted here


-> Requirement is very simple

This is a very basic program which introduces anyone to Jinja2 and
 yaml syntaxing 

Problem  - Have two interfaces ge-0/0/0 and ge-0/0/1, we have to use 
Yaml / Jinja2 and Pyez to develop the configurational 
syntax for this and later on a CI system need to validate the build. 

The code hosted in Github above.
intf.yml    - will have all the interfaces 
template.j2 - will have the appropriate Jinja2 
template.py - will have the python program combining these two

So, we write the code 

Finally build the CI file, but here we also buld the dependencies 
because when CI starts to validate it needs to have all the 
appropriate software installed. It amuses me to the point, 
it spins up the VM and then install the dependencies and then

it validates our code. I have come a long way from manual 
verificaitons / lab testing / CI testing now

This is how dependency file looks like

so when I submit the code via a simple git push,
 i see this happening on the CI automatically

I would target more posts to get other CI systems
 onboard especially Jenkins2 and then deploy the
 successful build back to git or a server.


Rakesh M