UPI Study › Courses › Software Engineering › Free lessons › Lesson 14.5 Free with a free account
Configuration Management Tools: Version Control, Build Systems, and CI/CD Pipelines
Software Engineering · Chapter 14: Project Estimation, Configuration, and Change ControlSection 14.5 · lesson 90 of 1036 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of Software Engineering.
Lesson complete
Earn the 3 college credits for Software Engineering
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: Tracking Control Items and Procedures in Configuration →← Configuration Management ProcessesNext lesson: Tracking Control Items and Procedures in Configuration →
In this lesson
Version control, build systems, and CI/CD pipelines - policy that enforces itself.
- Explain why an SCM plan needs tooling at real scale
- Describe commits, branches, and merges in version control
- Explain why automated builds are a form of configuration control
- Describe what CI and CD each add to the pipeline
Transcript
Everything said in the video, section by section (711 words). Read along, or search it.
Project Estimation, Configuration, and Change Control
Configuration Management Tools
An S C M plan describes what should be controlled, and when change is allowed. None of that holds up in practice without tools doing the enforcing. This section covers the tooling that turns configuration management from a policy on paper, into something that happens automatically.
From Policy to Tooling
Rules Nobody Has to Remember
The S C M plan and its scheduling policies describe what should happen. But at real project scale, none of it is reliable if it depends on everyone remembering to follow the rules manually. Three kinds of tool make configuration control practical. Version control. Build automation. And pipelines that chain them together with testing, into one continuous flow.
Version Control
Tracking Every Change
A version control system tracks every change made to a set of files over time. It records who changed what, and why, and makes it possible to recover any prior state. That turns a configuration item into something genuinely trackable and auditable. A commit is a recorded snapshot of a specific set of changes, with a description of what changed. A branch is a parallel line of development, so work can proceed on a change without disturbing the shared line until it is ready. And a merge combines changes from different branches back into one.
Build Automation
Source Into Something Runnable
Build automation assembles source code and other configuration items into a runnable form. It does that through a consistent, repeatable, defined process, rather than someone manually running the right steps in the right order. That removes a whole category of problems caused by inconsistent manual builds. A defined, automated build runs the same way every time, for everyone. And that is itself a form of configuration control. It guarantees reproducibility, which an S C M plan exists to protect.
CI/CD Pipelines
Chaining It All Together
A C I C D pipeline chains version control, automated builds, and automated testing into one continuous flow. Continuous integration is the automatic build-and-test step that runs every time code is merged. Continuous delivery, or deployment, extends that same pipeline further. It automatically prepares, or actually releases, a build that passes every check. Earlier material on continuous integration set aside the specific tools and pipelines that make this happen. This is that topic.
Figure 1
The Full CI/CD Pipeline
Here is the full pipeline. A commit is recorded in version control. The build is assembled automatically. Then automated tests check it. Commit, build, and test, repeated on every merge, is continuous integration. Continuous delivery or deployment extends the same flow through to deploy. And each stage runs automatically, without waiting for someone to remember to trigger it.
Table 1
Tools and Their Configuration Role
Here are the three kinds of tool, and the role each plays in configuration control. Version control tracks every change to files over time. It makes configuration item tracking and history possible at all. Build automation assembles source into a runnable form, consistently. It ensures reproducible, defined builds, instead of manual steps. And a C I C D pipeline chains version control, build, and test into one flow. It enforces the S C M plan's policies automatically, every time.
Apply It
The Build on 1 Laptop
Let's apply that. A team's release builds are made by hand, on one senior developer's laptop. One week, a build ships missing a configuration file. And nobody can reproduce exactly what went out. Build automation would have made every build defined and reproducible. And a pipeline would run that build the same way on every merge, and test it, before anything ships.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. A version control system is software that tracks every change to a set of files over time, and allows any prior state to be recovered. A commit is a recorded snapshot of a specific set of changes, along with a description of what changed. Build automation is a consistent, repeatable, automated process for assembling source code into a runnable form. And a C I C D pipeline is an automated flow chaining version control, build, and test, and often delivery, into one continuous process.
Key Takeaways
What to Carry Forward
To pull this together. Tooling is what actually enforces an S C M plan's policies at real project scale. In version control, commits record changes, branches separate lines of work, and merges combine them. Automated builds guarantee reproducibility. Continuous integration builds and tests every merge. Continuous delivery extends the same pipeline through to release. And a policy built into a pipeline is far stronger than one that people have to remember.
About Software Engineering at UPI Study
Software Engineering (Computer Science 301) is a self-paced online course of 103 video lessons in 15 chapters, from process models and agile to requirements, design, user interfaces, reliability, security and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take Software Engineering with UPI Study
Where the credit goes
Universities that work with NCCRS
Software Engineering carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About Configuration Management Tools: Version Control, Build Systems, and CI/CD Pipelines
What are commits, branches, and merges in version control?
What is the difference between continuous integration and continuous delivery?
Why is build automation considered a form of configuration control?
Why does configuration management need tools instead of manual rules?
About the Software Engineering course
How many college credits is Software Engineering?
How much does Software Engineering cost and what is included?
Which universities accept UPI Study credits?
How long does Software Engineering take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in Software Engineering.
103 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →