ChatGPT explaining CI/CD in networking
What Exactly Is CI/CD?
Interested? Let’s start with the fundamentals:
- What Is Continuous Integration?
- Continuous Integration in Network Automation
- Using Virtual Labs When Developing Network Automation Solutions
You might also want to explore network-infrastructure-as-code concepts.
Testing, Validation, and Tools
If you want to automate source code integration and deployment you have to ensure that the changes you’re making to your existing codebase won’t break it. Testing and validation are thus the crucial elements of CI/CD pipelines:
- Validating Data in GitOps-Based Automation
- What Are You Going to Test in Network Automation CI/CD Pipeline?
- Checking Network Device Configurations in a GitOps CI Pipeline
Here are a few tools you might find useful:
- To YANG or Not to YANG, That’s the Question
- Validate Ansible YAML Data with JSON Schema
- New Ansible Data Validation Module(s)
- Interesting Tool: Schema Enforcer
Several attendees of Building Network Automation Solutions online course used CI/CD pipelines in their automation solutions. Some of those solutions are published on GitHub, giving you a glimpse into working code:
- Daniel Teycheney created a CI pipeline that validates Ansible playbooks before they’re merged with the master branch.
- Donald Johnson checks data models before committing them into a Git-based repository
I also blogged about these CI/CD solutions:
- Firewall Ruleset Automation with CI Pipeline
- Deploy AWS Security Rules in a GitOps World with Terraform, GitLab CI, Slack, and Python
- Configuring NSX-T Firewall with a CI/CD Pipeline
- Network Validation Evolution at Hostinger
- Full-Stack Network Automation
- Network Testing on Software Gone Wild
- Distributed On-Demand Network Testing (ToDD) with Matt Oswalt
- Test-Driven Network Development with Michael Kashin on Software Gone Wild
We covered the CI/CD pipeline- and network testing details in Building Network Automation Solutions online course:
- Thomas Wacker described how UBS AG embraced automation and automated testing for their data center network rebuild.
- Kristian Larsson explained the basics of network testing and the use of virtual routers in CI/CD testing.
- Gabriele Gerbino presented some practical examples on how to build a simple CI/CD testing pipeline.
- David Barroso explained how you can use NAPALM to validate whether the actual state of a network device meets its desired state.
- Pete Lumbis explained the basics of Continuous Integration and Continuous Delivery (CI/CD) and dived deep into Continuous Integration with GitLab.