Continuous Integration

Let's take a look at the continuous integration process.

We'll cover the following

CI development model

Throughout this course, it has been advocated to follow the CI software development model. CI is the practice of merging all developer working copies to a shared repository several times a day. However, at this point in the journey, a hybrid approach of automated playbooks executed by human operators has been used.

The execution of the playbooks has replaced the previous steps of copy-pasting network engineers prescribed changes by network operations staff. Now, operators log into a Linux box and execute ansible-playbook commands to generate automated documentation and perform network configuration management across the enterprise. The next natural step is to automate the execution of the playbooks themselves. Cron jobs or other Linux scheduling techniques can be used to automate the scheduled execution of playbooks. However, there is a more elegant solution: integrating the playbook execution directly into the CI/CD pipeline.

A great candidate for getting started with CI is the documentation.yml Ansible playbook. This playbook generates the configurations and documentation for the network. Automatically running the documentation.yml Ansible playbook every time pull requests merge changes into the master branch leads to ever-developing, living documentation. Network changes now include all relevant and related documentation updates without operator intervention.

Build

A build is a software product in its final, consumable form. In traditional software, this means executables or compiled code. For network automation, think of a build as a point-in-time collection of all the components that make up the functional state of a network.

Get hands-on with 1400+ tech skills courses.