Understanding CI-CD

As days are passing on, it is becoming evident that there are no projects which are not considering CI-CD for the deployment of their applications. So let us understand, what a CI-CD is.

CI-CD is an acronym for “Continuous Integration - Continuous Delivery/Deployment” , which is a modern way of application deployment that, makes your deployment rate faster and more successful. Now that we know why CI-CD is used, let us understand, what constitutes a CI-CD framework and how do we implement them.

To help us understand better, let us split the CI-CD into two parts namely CI and CD

Continuous Integration (CI) :

Continuous Integration is the part, that deals with integrating continuously, the application changes done by the developers to a revision control system and, automatically building, testing and packaging the application. The objective of the CI phase is to, integrate the work done by large group of developers, build and test it on a centralised build server, and package the code for deployment, if the building and testing was successful.

Continuous, Delivery/Deployment (CD):

Continuous Deployment or Continuous Delivery is the process of deploying the packaged application into the right environment with least human intervention and highest accuracy. Every application will be deployed into various environments/servers like, development (for the developers to collectively reflect and check the developed, integrated and deployed application), Integration (used predominantly by the testing team) and production (your live application is accessible from here). There could be other environments, based on the needs of the project. Based on the outcome of the testing and approvals, the application gets promoted from development to Integration to production.

Tools to implement CI-CD:

The tools you choose to implement CI-CD for your project, depends on the kind of application you develop and the language you write your application in and the hosting environemnt. For example; If your application is developed using c#, teamcity is the best build tool and octopus is the best deployment tool. However, people use tools like Jenkins for building purpose as it is a popular open source tool. If you have developed your application using java, Jenkins is indeed the best build tool.

Here are the list of popular tools serving various purpose of CI-CD framework in the industry and you could choose one amongst them. There are other tools too, available in the market and you could choose from them too, based on your need and after conducting supporting POCs:

  1. Revision control: SVN, GIT
  2. Build tools: Jenkins, Hudson, Bamboo, Teamcity, CircleCI, Travis
  3. Quality analysis : Sonarqube
  4. Deployment tool: Octopus Deploy

Some of the buildtools in the above example(like Bamboo, CircleCI, Travis etc..)also double up as deployment tools. If your hosting environment is AWS, AWS provides its own sets of CICD services like, AWS CICD pipeline, Elastic beanstalk, Code deploy etc..


要查看或添加评论,请登录

Shekar Pulugam的更多文章

  • Setting up a "Jenkins - K8S" CICD

    Setting up a "Jenkins - K8S" CICD

    This article intends to explain brief overview steps on, how your application can be deployed to a kubernetes (K8S)…

  • Best Practices for using Jenkins in Devops Infrastructure

    Best Practices for using Jenkins in Devops Infrastructure

    Jenkins is one of the highly sought after CI build tool in the market currently. Jenkins being an opensource tool, this…

  • Automation

    Automation

    Automation!! Automation!! Automation!! The word that is heard in the IT World more often these days than in the past…

  • Looking for CISSP Certification (or) 10 +Yrs Exp in Security Auditing

    Looking for CISSP Certification (or) 10 +Yrs Exp in Security Auditing

    HI, Urgent requirements, Looking for CISSP Certification (or) 10 +Yrs Exp in Security implementation & Auditing in…

    2 条评论
  • Looking for Ruby on Rails Developers

    Looking for Ruby on Rails Developers

    Hi, We need people with 2-8 years of Development experience in Ruby on Rails, Share your updated CV ASAP to…

  • Need DevOps Online Trainers

    Need DevOps Online Trainers

    Hi, We have a urgent requirements on DevOps Online Training. If your interested, please contact me on: +91 9948 039…

  • Looking DevOps Online Trainers

    Looking DevOps Online Trainers

    Hi, We have a urgent requirements on DevOps Online Training. If your interested, please contact me on: +91 9948 039…

  • We are offering corporate training

    We are offering corporate training

    Hi, We are offering corporate training in .Net, Java, Hadoop, Testing and many more.

    2 条评论
  • Bigdata Developer Openings

    Bigdata Developer Openings

    Immediate Requirement: Looking for Bigdata Developer with 8+ years of experience, Job Location is in Hyderabad. Anyone…

社区洞察

其他会员也浏览了