Conclusion
Wrap-Up
You have completed a full GitOps workflow designed for network engineers. You started by creating a repository and practicing the core Git commands that help you track and review change. From there, you built configuration files, added local validation and packaging, created a hosted package pipeline in GitHub Actions, and then extended that workflow so it could update the nodes in an existing lab in Cisco Modeling Labs and start the lab again.
That progression is the heart of the lab. You did not just learn a list of commands. You used those commands to move from intended state in a repository to applied state in a lab environment.
What You Practiced
Throughout the lab, you repeated the Git commands that matter most in everyday work:
git statusto understand the current state of the repository.git diffto inspect exactly what changed.git addto stage changes intentionally.git committo record meaningful checkpoints in history.git fetchandgit pullto stay aligned with a remote repository when one is used.
Those habits are important because GitOps depends on visibility, consistency, and deliberate change handling.
What You Built
By the end of the lab, you created:
- A Git-managed repository for network configuration changes.
- Three router configuration files for a BGP-enabled CML topology.
- Local validation and packaging scripts.
- A GitHub Actions workflow that validates and packages the lab artifact.
- A deployment extension that updates node configurations in an existing CML lab and then starts the lab.
Each piece contributes to the same goal: making the repository the place where intended network state is defined, checked, and prepared for deployment.
Key Takeaways
- Git is the source of truth for the desired network state.
- Small, reviewable commits make automation safer and troubleshooting easier.
- Local validation helps catch obvious mistakes before deployment.
- GitOps is not only about pipelines. It is about turning repository changes into reliable operational outcomes.
Certification Alignment
This lab also supports preparation for the CCNA Automation certification's automation and programmability topics. You practiced Git-based change control, JSON payloads, API-driven network updates, CI/CD workflow concepts, and automation that manages network configuration state. It is not a complete certification course by itself, but it gives you hands-on context for the automation vocabulary and workflows that appear in modern network certification study.
Recommended Next Steps
If you want to build on what you learned here, good next steps include:
- Add a branch and pull request workflow for peer review.
- Use
git restoreto discard an intentional local change, then usegit restore --stagedto unstage a file without deleting the edit. - Practice
git stashby saving unfinished work, switching context, and then applying the stashed change again. - Create and resolve a small merge conflict in a throwaway branch so you can practice Git conflict handling safely.
- Expand validation rules to check interface descriptions, IP addressing, or policy consistency.
- Extend the hosted deployment workflow to include post-deploy verification or reporting.
- Add rollback logic that can redeploy the last known good artifact.
- Expand the topology to include a fourth router or a simulated Internet edge.
Stretch Challenge Ideas
You can also continue practicing with these extensions:
- Add OSPF alongside BGP and compare how the validation logic changes.
- Create a deployment summary file that records the lab ID, commit ID, and validation result for each change.
- Convert the shell validation into Python for richer parsing and test coverage.
- Add unit tests for the deployment and packaging scripts.
Lab Survey
Before you leave the lab, please complete the survey. Your feedback helps me understand how the lab performed, whether it was valuable, and whether the content was understandable enough to help you learn the concepts.
Final Thought
The most important lesson in this lab is that GitOps begins with habits. When you consistently inspect, stage, commit, validate, and deploy with care, your tools become more trustworthy and your changes become easier to understand, share, and improve.