<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ci on Ghafoor's Personal Blog</title><link>http://ghafoorsblog.com/categories/ci/</link><description>Recent content in Ci on Ghafoor's Personal Blog</description><generator>Hugo</generator><language>en</language><managingEditor>noreply@example.com (AG Sayyed)</managingEditor><webMaster>noreply@example.com (AG Sayyed)</webMaster><copyright>Copyright © 2024-2026 AG Sayyed. All Rights Reserved.</copyright><lastBuildDate>Fri, 15 May 2026 13:20:20 +0100</lastBuildDate><atom:link href="http://ghafoorsblog.com/categories/ci/index.xml" rel="self" type="application/rss+xml"/><item><title>Continuous Integration</title><link>http://ghafoorsblog.com/courses/ibm/devops-content/devops-pcert/01-introduction-to-devops/03-module/005-ci/</link><pubDate>Mon, 07 Apr 2025 06:27:38 +0000</pubDate><author>noreply@example.com (AG Sayyed)</author><guid>http://ghafoorsblog.com/courses/ibm/devops-content/devops-pcert/01-introduction-to-devops/03-module/005-ci/</guid><description>&lt;h2 id="continuous-integration-and-continuous-delivery-cicd"&gt;Continuous Integration and Continuous Delivery (CI/CD)&lt;/h2&gt;
&lt;p&gt;Continuous Integration (CI) and Continuous Delivery (CD) are distinct practices that work together to enable rapid and reliable software delivery.&lt;/p&gt;
&lt;h3 id="continuous-integration-ci"&gt;Continuous Integration (CI)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CI involves continuously building, testing, and integrating every developer change into the master branch after passing a set of tests.&lt;/li&gt;
&lt;li&gt;Developers work in short-lived feature branches that are merged into the master branch once the feature is complete.&lt;/li&gt;
&lt;li&gt;Automated testing and builds verify each check-in, allowing teams to detect problems early.&lt;/li&gt;
&lt;li&gt;Benefits of CI:
&lt;ul&gt;
&lt;li&gt;Faster reaction time to changes.&lt;/li&gt;
&lt;li&gt;Reduced risk of integration issues.&lt;/li&gt;
&lt;li&gt;Higher code quality through pull requests and code reviews.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="continuous-delivery-cd"&gt;Continuous Delivery (CD)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CD ensures that code can be rapidly and safely deployed to production by delivering every change to a production-like environment.&lt;/li&gt;
&lt;li&gt;Deployment does not necessarily mean production; it can be to a staging or test environment that mimics production.&lt;/li&gt;
&lt;li&gt;Practices include automating builds and tests to confirm code behavior.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="working-in-small-batches"&gt;Working in Small Batches&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Small batches reduce the number of conflicting changes and the risk of merge conflicts.&lt;/li&gt;
&lt;li&gt;Frequent commits (e.g., daily) help maintain a deployable master branch.&lt;/li&gt;
&lt;li&gt;Pull requests facilitate communication and code reviews, ensuring higher code quality.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="automation-in-cicd"&gt;Automation in CI/CD&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CI tools like Travis CI, Circle CI, Jenkins, and GitHub Actions monitor version control systems and automate builds and tests.&lt;/li&gt;
&lt;li&gt;Automated tests ensure that untested code is not merged into the master branch.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="key-takeaways"&gt;Key Takeaways&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The master branch should always be deployable.&lt;/li&gt;
&lt;li&gt;Untested code should never be merged into the master branch.&lt;/li&gt;
&lt;li&gt;CI/CD practices enable faster development cycles and higher-quality software.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="faq"&gt;FAQ&lt;/h2&gt;

 &lt;div
 class="accordion mb-4"
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-0"
 aria-expanded="true"
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-0"&gt;
 What is Continuous Integration (CI)?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-0"
 class="accordion-collapse collapse show"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Continuous Integration is the practice of continuously building, testing, and integrating every developer change into the main branch after passing automated tests.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold collapsed"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-1"
 
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-1"&gt;
 What is Continuous Delivery (CD)?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-1"
 class="accordion-collapse collapse"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Continuous Delivery ensures that code can be rapidly and safely deployed to a production-like environment, enabling frequent and reliable releases.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold collapsed"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-2"
 
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-2"&gt;
 How does working in small batches benefit CI/CD?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-2"
 class="accordion-collapse collapse"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Working in small batches reduces the risk of merge conflicts, ensures faster integration, and maintains a deployable main branch.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold collapsed"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-3"
 
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-3"&gt;
 Why is automation important in CI/CD?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-3"
 class="accordion-collapse collapse"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Automation ensures that builds and tests are run automatically, reducing manual effort and improving reliability.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold collapsed"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-4"
 
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-4"&gt;
 What are the benefits of Continuous Integration?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-4"
 class="accordion-collapse collapse"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Continuous Integration provides faster reaction times, reduces integration risks, and improves code quality through frequent commits and automated testing.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="accordion-item"&gt;
 &lt;h3 class="accordion-header"&gt;
 &lt;button
 class="accordion-button fw-bold collapsed"
 type="button"
 data-bs-toggle="collapse"
 data-bs-target="#accordion-1779077212020547-courseibm-devops0103m005qafaq-5"
 
 aria-controls="accordion-1779077212020547-courseibm-devops0103m005qafaq-5"&gt;
 What is Continuous Deployment?
 &lt;/button&gt;
 &lt;/h3&gt;
 &lt;div
 id="accordion-1779077212020547-courseibm-devops0103m005qafaq-5"
 class="accordion-collapse collapse"
 data-bs-parent="#accordion-1779077212020547-courseibm-devops0103m005qafaq"&gt;
 &lt;div class="accordion-body"&gt;
 Continuous Deployment is an extension of Continuous Delivery where every change that passes automated tests is automatically deployed to production without manual intervention.
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;</description></item></channel></rss>