Skip to main content

Command Palette

Search for a command to run...

Continuous integration vs. delivery vs. deployment (CI/CD)

Updated
4 min read
Continuous integration vs. delivery vs. deployment (CI/CD)
H

Hemant is a Microsoft certified SharePoint Administrator and Power platform developer with 16+ years extensive experience in IT, Microsoft SharePoint. He has decade involved providing M365 and SharePoint for business problems across nearly all industries and commercial sectors. Also he involved in Management/Leadership of Projects in Energy, Healthcare, Content Management, Mining domain, gaining extensive expertise in Project Lifecycle Management, Agile Development, DevOps Testing Cycle as well as Team Management

• Expertise in all aspects of the SharePoint Administration, installation, configuration, development, architecture, deployment and Migrations

• Experienced in developing collaboration and power platforms, portals, enterprise search, enterprise content management, business processes of SharePoint in large enterprise environments.

• Providing day-to-day administration and support on monitoring, usage and growth analysis and patching on SharePoint intranet and Internet.

• Adopting new technology and implementing them, in-depth functional knowledge with appreciation for technical skills.

• Have been involved in various phases of SDLC including analysis, design, coding, testing and implementation mainly Agile development

• Collaborated in governance development and processes, enhancing system efficiency and adherence to best practice. Improving SharePoint capabilities by evaluating and integrating third-party solutions

Programming and Scripting: Proficient in PnP PowerShell scripting for automation and customization.

Learn more about these cloud projects by visiting my portfolio at https://medium.com/@risbud

Technologies interested Cloud | MultiCloud | AWS | DevOps | Microsoft Azure | Google Cloud | Terraform | Ansible

If you’ve been around software development for a while, you’ve probably come across the term CI/CD.

Continuous integration, delivery and deployment are practices that seek to speed up the process of releasing software by shortening feedback loops and automating repetitive tasks. These practices play a key role in making the agile principle of frequently delivering valuable, working software to users a reality.

Continuous integration:

🚀 Embracing the power of Continuous Integration (CI) in software development is pivotal for seamless collaboration and robust outcomes. Developers harness CI by merging their changes frequently into the main branch, ensuring a cohesive codebase. This practice involves validating alterations through builds and automated tests, eradicating integration complexities often encountered during release merges.

✨ With Continuous Integration, the spotlight shines on automated testing, assuring the stability of applications with each integration into the main branch. This proactive approach minimizes the risk of potential issues, fostering a more efficient and reliable development process.

⏩PROS:

  • Less bugs get shipped to production as regressions are captured early by the automated tests.

  • Building the release is easy as all integration issues have been solved early.

  • Less context switching as developers are alerted as soon as they break the build and can work on fixing it before they move to another task.

  • Testing costs are reduced drastically – your CI server can run hundreds of tests in a matter of seconds.

  • Your QA team spends less time testing and can focus on significant improvements to the quality culture.

Continuous delivery:

🌟 Continuous Delivery extends the power of Continuous Integration, seamlessly advancing code changes into testing or production environments post-build. It's the automated bridge between development and release, enabling one-click application deployment.

🚀 Beyond automated testing, Continuous Delivery empowers flexible release schedules, aligning with your business needs—whether it's daily, weekly, or tailored intervals. However, the true essence lies in early production deployment, facilitating smaller, manageable releases for streamlined troubleshooting and agile problem-solving.

🔗 Embracing Continuous Delivery not only amplifies efficiency but also cultivates a culture of rapid, adaptable software delivery.

⏩PROS:

  • The complexity of deploying software has been taken away. Your team doesn't have to spend days preparing for a release anymore.

  • You can release more often, thus accelerating the feedback loop with your customers.

  • There is much less pressure on decisions for small changes, hence encouraging iterating faster.

Continuous deployment:

🔁 Stepping beyond Continuous Delivery, Continuous Deployment embodies the pinnacle of streamlined software release. Here, each validated change seamlessly progresses through the production pipeline, reaching customers without human intervention. Only a failed test halts a deployment, eliminating the concept of a designated "release day."

🚀 This approach catalyzes heightened customer engagement, expediting the feedback loop. The absence of a rigid release schedule liberates teams, allowing developers to witness their creations going live within minutes of completion, fostering an agile and responsive development environment.

💡 Continuous Deployment not only amplifies efficiency but also cultivates a culture of rapid innovation and real-time responsiveness to customer needs.

⏩PROS:

  • You can develop faster as there's no need to pause development for releases. Deployment pipelines are triggered automatically for every change.

  • Releases are less risky and easier to fix in case of problems as you deploy small batches of changes.

  • Customers see a continuous stream of improvements and rapid enhancement in quality.

Jenkins's role in CI/CD

Jenkins' role in Continuous Integration and Continuous Deployment:

🛠️ Unlocking the true potential of Continuous Integration and Deployment! Jenkins stands as a pivotal force in modern software development, empowering teams to streamline workflows, automate builds, and expedite deployments. The transformative power of Jenkins across different job types, shaping the landscape of Continuous Integration and Deployment! Whether it's freestyle, pipeline, or multibranch.

✨ With Jenkins, teams orchestrate the seamless integration of code changes, ensuring each alteration meets quality benchmarks through automated testing. Its robust capabilities pave the way for Continuous Deployment. Through freestyle jobs, teams wield flexibility, configuring custom workflows and integrations, while pipeline jobs bring the beauty of code-driven, versionable processes, enabling scalable and repeatable deployments. Multibranch jobs seamlessly manage multiple variations, adapting to complex project structures.

🚀 By fostering an ecosystem of efficiency and reliability, Jenkins redefines how teams collaborate and innovate, shaping a landscape where software delivery becomes agile, responsive, and customer-centric.