The basics of Continuous integration (CI)

Feb 26, 2020

Share this post
issues-after-qlikview-version-upgrade-on-passive-node-of-production-servers

This blog talks about DevOps approach at the high level and major phases of DevOps like Continuous Integration, Continuous Deployment and Continuous Delivery.

DevOps:

DevOps approach is to have better communication between development organization and operations organization. The focus is to improve the efficiency, quality, and speed to market in this agile world. Furthermore, Continuous Integration and Continuous Delivery / Continuous Deployment expected to grow in the coming years.

The stages can be broken down as follows:

    • Planning
    • Build automation
    • Unit test automation
    • Deployment automation
    • Operations

DevOps is a practice to achieve continuous integration and continuous deployment pipeline (CI/CD). CI/CD pipelines helps delivering faster deployments and agility with minimal manual tasks which normally takes lot of team efforts and dependencies. At S-Square Systems, Our methodology that focuses on communication, collaboration and integration of developers and Operations teams to right solutions at the right time.

What is the difference between Continuous Integration, Continuous Deployment & Continuous Delivery?

Continuous Integration:

Continuous Integration is the practice of integrating developers source code changes from different modules of a project into the mainline (version control system) as early as possible, in best cases several times a day by different developers. When we combine the process with automated testing, continuous integration can enable your code to be dependable.

Process Flow:

    • Developers check out code from source code repository
    • Commit the changes back to the source code repository
    • The CI server configured to monitor the repository for changes checked in by developers
    • The CI server configured to release deployable artefacts
    • The CI server versions the code changes in version control system
    • The CI server sends notifications to the team of the successful or failed build status
    • The team fixes the issue at the earliest possible and commit the changes again
    • Continue to integrate the changes and test throughout the project

Continuous Delivery:

Continuous Delivery process is an extension to Continuous Integration process, where code changes will be tested, and prepared for a release to production.

Continuous Deployment:

Continuous Deployment is complete cycle of automating the whole process starting from code changes till deployment. In general, automated deployments will be done till Pre-Production environments and Production deployments will be done as per the company change review processes that are in place.

At a glance:

Let’s take a look at some of the available DevOps tool particularly concentrating towards Continuous Integration and Continuous Deployment. The best DevOps solutions for your organization will depend on your unique requirements and availability of resources.

    • Jenkins
    • Hudson
    • GitLab CI
    • Travis
    • Bamboo
    • Chef
    • TeamCity
    • Puppet