Chapter 11 Continuous Integration / Continuous Delivery

For diagrams, tables, or exact code formatting, .

JOHN W. CAPOBIANCOPRINTED PAGE 187

NDLC. Automated testing provides another level of QA before moving to full continuous delivery of automated builds.

More information about Jenkins can be found here: https://jenkins.io/ More information about VIRL can be found here: http://virl.cisco.com/ CD

Continuous delivery is a software development approach where teams update software in short cycles to quickly and frequently release changes to code. Bug fixes, feature releases, and other enhancements are delivered in small modular packages more often instead of the traditional approach of accumulating changes and releasing large software packages less frequently. CD fits perfectly with network automation especially after complete network configuration management coverage and full idempotency is achieved. All future changes and all bug fixes or configuration deficiencies are added quickly and modularly, and most importantly, it is automatic as changes are merged into the master branch. Think of the new workflow:

 Change required to the network.  New work item created and assigned in TFS.  New working branch created in TFS.  Refresh local repository through Git pull.  Write code in VS Code.  Commit often.  When ready pull request created.  Approvals and change management.  Pull request reviewed, approved, and merged into the master branch.  Automated build triggered.  All network documentation refreshed automatically to reflect change / new state.  Automated testing occurs.  Build passes testing.  Automated release triggered.  Changes delivered to production environment.  Working branch closed.  Analytics, change history, version control, and other metrics all available for lifecycle of change. At no point is anyone connecting to network devices to use the CLI. Release Along with the enterprise software release cycle there now exists a need to establish a network release cycle. This goes beyond standard approved change windows or quarterly maintenance windows.