{"id":193566,"date":"2025-03-12T06:30:00","date_gmt":"2025-03-12T05:30:00","guid":{"rendered":"https:\/\/liora.io\/en\/?p=193566"},"modified":"2026-02-06T07:47:38","modified_gmt":"2026-02-06T06:47:38","slug":"all-about-circleci","status":"publish","type":"post","link":"https:\/\/liora.io\/en\/all-about-circleci","title":{"rendered":"What is CircleCI?"},"content":{"rendered":"<b>CircleCI is a platform for continuous integration and continuous deployment (CI\/CD). Established in 2011 and valued at $1.7 billion in 2021, it stands as one of the most favored CI\/CD platforms globally.<\/b>\n\nCircleCI empowers developers to build, test, and deploy their code swiftly and reliably. Today, the company supports thousands of organizations around the world, from startups to major corporations, providing the flexibility and power needed for any project type.\n\n<style><br \/>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style>\n<h3>But what exactly is CI\/CD?<\/h3>\n<style><br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image3-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image3-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image3-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image3-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n\n<a href=\"https:\/\/liora.io\/en\/all-about-ci-cd\">CI\/CD<\/a>, or &#8220;<b>Continuous Integration \/ Continuous Delivery<\/b>&#8220;, is a development methodology focusing on automating the steps within an application&#8217;s lifecycle. It aims to decrease human errors, speed up delivery times, and enhance application quality.\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Continuous Integration (CI)<\/b> involves regularly incorporating code written by various team members into a central repository. Each modification is automatically tested to ensure it doesn&#8217;t introduce bugs or compatibility issues.<\/li>\n \t<li><b>Continuous Deployment (CD)<\/b> automates the delivery of validated code without requiring manual intervention.<\/li>\n<\/ul>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"\/en\/courses\/data-ai\/\">More about CI\/CD<\/a><\/div><\/div>\n\n<h3>Key Features<\/h3>\nCircleCI offers a comprehensive suite of tools and integrations aimed at automating, optimizing, and securing the development process while ensuring efficient continuous delivery.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image12.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image12.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image12-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image12-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Flexible Workflows<\/font><\/h4>\nFacilitates orchestration of complex pipelines with conditional dependencies, optimizing tests and deployments to save time.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image5-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image5-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image5-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image5-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Cloud Execution<\/font><\/h4>\nDelivers scalable cloud environments using <a href=\"https:\/\/liora.io\/en\/virtual-machine-definition-use-and-benefits\">virtual machines<\/a> or <a href=\"https:\/\/liora.io\/en\/docker-definition-and-tutorial\">Docker<\/a>.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image15.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image15.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image15-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image15-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Build Parallelization<\/font><\/h4>\nDistributes tasks to hasten tests and builds, reducing processing time.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image14.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image14.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image14-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image14-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Multi-environment Support<\/font><\/h4>\nSupports a <a href=\"https:\/\/liora.io\/en\/top-10-programming-languages\">variety of languages<\/a>, <a href=\"https:\/\/liora.io\/en\/framework-what-is-it\">frameworks<\/a>, and environments.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image11.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image11.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image11-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image11-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Deployment Automation<\/font><\/h4>\nIntegrates with tools like <a href=\"https:\/\/liora.io\/en\/why-kubernetes-has-become-an-indispensable-tool-in-data-science\">Kubernetes<\/a> and <a href=\"https:\/\/liora.io\/en\/terraform-using-gcp-to-deploy-your-infrastructure\">Terraform<\/a>.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image4-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image4-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image4-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image4-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Intelligent Caching<\/font><\/h4>\nCaches dependencies to avoid re-downloading them.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image7-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image7-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image7-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image7-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Security and Compliance<\/font><\/h4>\nFeatures include data encryption, granular permissions, and pipeline audits.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image9.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image9.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image9-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image9-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Continuous Testing and Reporting<\/font><\/h4>\nIntegrates with testing tools to generate detailed reports.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image6-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image6-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image6-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image6-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Monitoring and Insights<\/font><\/h4>\nAnalytical dashboards for monitoring pipeline performance.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image8.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image8.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image8-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image8-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Git Integration<\/font><\/h4>\nWorks seamlessly with <a href=\"https:\/\/liora.io\/en\/github-what-is-it\">GitHub<\/a>, <a href=\"https:\/\/liora.io\/en\/gitlab-your-ultimate-guide-to-the-devops-centric-git-repository\">GitLab<\/a>, and Bitbucket to automate CI\/CD workflows.\n<h3>Setting Up CircleCI<\/h3>\nThe initial setup is straightforward and quick, supporting integration with GitHub, GitLab, or Bitbucket.\n<h4><font size=\"4\">1. Before Installation<\/font><\/h4>\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Initially, ensure you have an account on a compatible code management platform (<b>GitHub, GitLab, or Bitbucket<\/b>) and a <a href=\"\/\">CircleCI account<\/a> linked to the repository in use.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">A configuration file config.yml must be in a .circleci directory at the repository root.<\/li>\n<\/ul>\n<h4><font size=\"4\">2. Project Registration<\/font><\/h4>\nOn the CircleCI website, grant the necessary permissions for it to access your repositories. To add a new project, click on &#8220;Set up project&#8221; as shown in the screenshot below:\n\n<img decoding=\"async\" width=\"1277\" height=\"128\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image16.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image16.webp 1277w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image16-300x30.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image16-1024x103.webp 1024w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image16-768x77.webp 768w\" sizes=\"(max-width: 1277px) 100vw, 1277px\">\n\nSelect an integration method; in this example, &#8220;Fast&#8221; is chosen.\n\n<img decoding=\"async\" width=\"438\" height=\"336\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image10.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image10.webp 438w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image10-300x230.webp 300w\" sizes=\"(max-width: 438px) 100vw, 438px\">\n\nA configuration file is generated automatically.\n\n<a href=\"\/en\/courses\/data-ai\/\">\nLearn how to run a CircleCI project\n<\/a>\n<h4><font size=\"4\">3. The Configuration File<\/font><\/h4>\nIn our example, the resulting configuration file is:\n<pre>version: 2.1\norbs:\n &nbsp;python: circleci\/python@2.1.1\njobs:\n &nbsp;build-and-test:\n &nbsp;&nbsp;&nbsp;docker:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- image: cimg\/python:3.12\n &nbsp;&nbsp;&nbsp;steps:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- checkout\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- python\/install-packages:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pkg-manager: pip\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Run tests\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: pytest\nworkflows:\n &nbsp;sample:&nbsp;\n &nbsp;&nbsp;&nbsp;jobs:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test<\/pre>\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">The first line indicates the schema version used by CircleCI.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Orbs<\/b> are reusable packages containing preconfigured CircleCI configurations for rapid integration of specific tools or languages without rewriting the setup.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Jobs<\/b> are work units comprising sequential steps, referred to as <b>steps<\/b>, executed in a defined environment. In this context, the <b>build-and-test<\/b> task includes a <b>docker<\/b> element defining the execution environment (a Docker image provided by CircleCI), along with the <b>steps<\/b> described below.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Steps (<b>steps<\/b>) outline actions performed within a job:\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><b>checkout<\/b>: Retrieves the source code from the repository, making it accessible within the CircleCI environment.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>python\/install-packages<\/b>: Installs necessary dependencies through the <b>pip<\/b> package manager.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>run<\/b>: Executes a job command. Here, <b>Pytest<\/b> is utilized to perform unit tests.<\/li>\n<\/ul>\n<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Lastly, <b>workflows<\/b> are collections of jobs executed in a predetermined sequence:\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>sample<\/b>: Name of the workflow<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>jobs<\/b>: List of jobs to execute in the workflow<\/li>\n<\/ul>\n<\/li>\n<\/ul>\nPotential modifications could include:\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">To avoid reinstalling packages with every run (thus saving build time), implement cache management:<\/li>\n<\/ul>\n<pre>- restore_cache:\n &nbsp;&nbsp;&nbsp;keys:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- v1-dependencies-{{ checksum \"requirements.txt\" }}\n- python\/install-packages:\n &nbsp;&nbsp;&nbsp;pkg-manager: pip\n- save_cache:\n &nbsp;&nbsp;&nbsp;key: v1-dependencies-{{ checksum \"requirements.txt\" }}\n &nbsp;&nbsp;&nbsp;paths:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ~\/.cache\/pip<\/pre>\n<a href=\"\/en\/courses\/data-ai\/\">\nHow to configure CircleCI\n<\/a>\n\nThis enables CircleCI to attempt restoring an existing cache based on the <b>requirements.txt<\/b> file hash. If found, they&#8217;ll be retrieved; if not, they&#8217;ll be installed via <b>pip<\/b>.\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Upon moving the application to production, automated deployments can be added following successful tests:<\/li>\n<\/ul>\n<pre>workflows:\n &nbsp;version: 2\n &nbsp;deploy:\n &nbsp;&nbsp;&nbsp;jobs:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- deploy:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;requires:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filters:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;branches:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only: main<\/pre>\n<h4><font size=\"4\">4. Cloud Integration<\/font><\/h4>\nCircleCI facilitates seamless integration with cloud infrastructures, including Azure, AWS, or GCP. In this instance, we perform an AWS integration.\n\nTo simplify the process, add an <b>orb<\/b> as follows:\n<pre>aws-cli: circleci\/aws-cli@4.1.1<\/pre>\nAlso, incorporate a <b>job<\/b> resembling the example below:\n<pre>deploy-to-aws:\n &nbsp;&nbsp;&nbsp;docker:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- image: cimg\/python:3.12\n &nbsp;&nbsp;&nbsp;steps:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- attach_workspace:&nbsp;\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at: \/home\/circleci\/project\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- aws-cli\/setup\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Configure AWS credentials\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: |\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set default.region $AWS_DEFAULT_REGION\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Deploy application to S3\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: |\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws s3 cp \/home\/circleci\/project\/ s3:\/\/$AWS_S3_BUCKET_NAME --recursive\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Clear AWS credentials (for security)\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: rm -f ~\/.aws\/credentials<\/pre>\nThe environment variables (identifiable by the <b>$<\/b> symbol) should be pre-created in CircleCI settings.\n\n<a href=\"\/en\/courses\/data-ai\/\">\nMastering cloud integration on CircleCI\n<\/a>\n<h3>CI\/CD Best Practices<\/h3>\nCircleCI suggests several optimal practices for enhancing CI\/CD pipelines.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image1-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image1-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image1-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image1-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image13.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image13.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image13-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/9\/2025\/02\/image13-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n\nThe CI\/CD process is deemed essential for every development team.\n\nRelying on manual processes impedes development speed.\n\nReuse configurations and devise caching strategies.\n\nAvoid duplicating configurations and redundantly downloading dependencies for every build.\n\nLeverage CircleCI orbs to automate repetitive tasks.\n\nRefrain from manually scripting redundant configurations for every project.\n\nSecure pipelines with private environment variables, varied contexts, and administrative oversight.\n\nAvoid storing sensitive data in project configuration files.\n\nEnsure comprehensive test coverage by integrating partners like Codecov, Cypress, or SonarCloud.\n\nNever deploy code without testing or confirming test coverage.\n\nUtilize automatic Slack notifications to monitor pipeline status and swiftly address failures.\n\nAvoid overlooking notifications, as they could lead to delays in issue detection.\n\nIncorporate popular orbs like Node, AWS-CLI, and Python to streamline configurations and cloud deployment.\n\nAvoid manually configuring each tool, which may result in errors and inconsistencies.\n\nExamine pipeline metrics to pinpoint bottlenecks and enhance workflow efficiency.\n\nNeglecting pipeline performance monitoring can hinder deployment speed.\n<h3>Conclusion<\/h3>\nCircleCI is a <b>powerful and adaptable<\/b> solution that enables the automation and optimization of CI\/CD practices.\n\n<a href=\"\/en\/courses\/data-ai\/\">\nTraining with Liora\n<\/a>","protected":false},"excerpt":{"rendered":"<p>CircleCI is a platform for continuous integration and continuous deployment (CI\/CD). Established in 2011 and valued at $1.7 billion in 2021, it stands as one of the most favored CI\/CD platforms globally. CircleCI empowers developers to build, test, and deploy their code swiftly and reliably. Today, the company supports thousands of organizations around the world, [&hellip;]<\/p>\n","protected":false},"author":74,"featured_media":193568,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2434],"class_list":["post-193566","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts\/193566","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/users\/74"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/comments?post=193566"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts\/193566\/revisions"}],"predecessor-version":[{"id":205583,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/posts\/193566\/revisions\/205583"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/media\/193568"}],"wp:attachment":[{"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/media?parent=193566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/en\/wp-json\/wp\/v2\/categories?post=193566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}