CircleCI

CircleCI’s mission is to manage change so software teams can innovate faster. CircleCI empowers technology-driven organizations to do their best work — and make engineering teams more productive and innovative by managing change. CircleCI provides enterprise-class support and services, and works where you work: Linux, macOS, Android, and Windows - in the cloud or on your servers.

Build, test, and deploy by using intelligent automation.

CircleCI process diagram

What is CI/CD?

Continuous integration (CI) is a practice that integrates code into a chosen branch of a shared repository, early and often. 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 developers multiple times throughout the day by committing daily to a shared mainline. Every commit triggers automated tests and builds. If these fail, they can be repaired quickly.

Continuous delivery (CD) is a practice that produces reliable releases to a chosen development environment, like a staging or production branch.

The CI/CD process allows developers to release higher quality, more stable products.

CircleCI in your workflow

A software repository on a supported version control system (VCS) needs to be authorized and added as a project on CircleCI. Every code change then triggers automated tests in a clean container or virtual machine. CircleCI runs each job in a separate container or virtual machine.

CircleCI sends an email notification of success or failure after the tests complete. CircleCI also includes integrated Slack and IRC notifications. Code test coverage results are available from the details page for any project for which a reporting library is added.

CircleCI may be configured to deploy code to various environments, including (but not limited to):

  • AWS S3

  • AWS EC2 Container Service (ECS)

  • Google Cloud Platform (GCP)

  • Azure Container Registry

  • Heroku

  • Firebase

  • Android

  • iOS

The orbs registry contains packages of reusable configuration that can be used for common deployment targets. Orbs simplify and streamline your configuration.

Other cloud service deployments can be scripted using SSH, or by installing the API client of the service with your job configuration.

Benefits of CircleCI

Organizations choose CircleCI because jobs run fast and builds can be optimized for speed. CircleCI can be configured to run very complex pipelines efficiently with sophisticated cachingDocker layer caching, and resource classes for running on faster machines.

As a developer using CircleCI you can:

  • SSH into any job to debug your build issues.

  • Set up parallelism in your .circleci/config.yml file to run test jobs faster.

  • Configure caching with two simple keys to reuse data from previous jobs in your workflow.

  • Configure self-hosted runners for unique platform support.

  • Access Arm VM resources and Arm on Docker.

  • Use orbs, reusable packages of configuration, to integrate with third parties.

  • Use pre-built Docker images in a variety of languages.

  • Use the API to retrieve information about jobs and workflows.

  • Use the CLI to access advanced tools locally.

  • Get flaky test detection with test insights.

As an operator or administrator of CircleCI installed on your own servers, CircleCI provides monitoring and insights into your builds and uses Nomad for scheduling.

Comments

Popular posts from this blog

Terraform

Scrum Master Interview help - Bootcamp

Kubernetes