Monday 14 September 2020

CircleCI Introduction

 

CircleCI


Question: What is Continuous Integration?


Continuous integration is a practice that encourages developers to integrate their code into the master branch of a shared repository. Instead of building out features in isolation and integrating them at the end of a development cycle, code is integrated with the shared repository by each developer multiple times throughout the day.


Every developer commits daily to a shared mainline.

Every commit triggers an automated build and test.

If build and test fails, then it will be easy to fix them rapidly.

Why we need Continuous integration ?


Improve team productivity/efficiency.

Identify problems and solve them, easily & quickly


Releasing a higher quality & more stable products.


CircleCI automates your software builds, tests, and deployments. We want to make 

engineering teams more productive through intelligent automation. CircleCI provides

enterprise-class support and services. CircleCI runs nearly one million jobs per day in support 

of 30,000 organisations.


Benefits of CircleCI


Organisations choose CircleCI because jobs run fast and builds can be optimised for 
speed.

CircleCI can be configured to run very complex pipelines efficiently with sophisticated 
caching, docker layer caching etc. 

As a developer using circleci.com, you can SSH into any job to debug your build issues.

We could set up parallel jobs in your .circleci/config.yml file to run jobs faster

We could also configure caching with two simple keys to reuse data from previous jobs in your 
workflow.

CircleCI provides monitoring and insights into your builds.


We could also get build and deployment logs to check the failures/errors.


After a software repository on GitHub or Bitbucket is authorised and added as a project 

to circleci.com, every code change triggers automated tests in a clean container or VM.


CircleCI runs each job in a separate container or VM, that Means each time your job runs


CircleCI spins up a container or VM to run the job in.


CircleCI then sends an email notification of success or failure after the tests complete. We

also have provision to include integrated Slack notifications. So that we will receive a 

notification for build and deployment every time.


CircleCI may be configured to deploy code to various environments, for example: AWS 

EC2 Container


Prerequisites for Running our first build


Basic knowledge of Git.

A GitHub/Bitbucket account, of which you are logged into.

An account on CircleCI.

Basic terminal or bash knowledge using the command line is helpful.


Setting up CircleCI


https://circleci.com/docs/2.0/local-cli/

https://circleci.com/docs/2.0/getting-started/


Question: what a Pipeline is?


Pipelines represent the entire configuration that is run when you trigger work on your projects 

that use CircleCI. The entirety of  a .circleci/config.yml file is executed by a pipeline.


No comments:

Post a Comment