This document provides a summary of differentiating features of CircleCI for Developers and Operators.
Following are the most popular features CircleCI offers that Developers are interested in.
SSH into builds
Often the best way to troubleshoot problems is to SSH into a job and inspect things like log files, running processes, and directory paths. CircleCI 2.0 gives you the option to access all jobs via SSH.
When you log in with SSH, you are running an interactive login shell. You are also likely to be running the command on top of the directory where the command failed the first time, so you are not starting a clean run.
In contrast, CircleCI uses a non-interactive shell for running commands by default. Hence, steps run in interactive mode may succeed, while failing in non-interactive mode.
If your project has a large number of tests, it will need more time to run them on one machine. To reduce this time, you can run tests in parallel by spreading them across multiple machines. This requires specifying a parallelism level.
Use either the CircleCI CLI to split test files or use environment variables to configure each parallel machine individually.
It is possible to configure CPU and RAM resources for each job, allowing for efficient use of your resources. The resource class will need to be specified in the
.circleci/config.yml file. If
resource_class is not specified or an invalid class is specified, the default
resource_class: medium will be used.
Another popular feature is caching. Caching is one of the most effective ways to make jobs faster on CircleCI by reusing the data from expensive fetch operations from previous jobs.
CircleCI Workflows are a great feature that can increase the speed of your software development through faster feedback, shorter reruns, and more efficient use of resources.
These are the most frequently asked about features CircleCI offers that Operators are interested in.
System Administrators are able to gather metrics for monitoring their CircleCI installation for various environment variables including installed Nomad Clients and Docker metrics.
CircleCI uses Nomad as the primary job scheduler in CircleCI 2.0. Refer to the basic introduction to Nomad for understanding how to operate the Nomad Cluster in your CircleCI 2.0 installation.
The CircleCI API is a full-featured RESTful API that allows you to access all information and trigger all actions in CircleCI.
There are some initial troubleshooting steps to take if you are having problems with your CircleCI installation on your private server.
If your issue is not addressed in the above article, generate a support bundle for your installation and open a support ticket.
The Insights page in the CircleCI UI is a dashboard showing the health of all repositories you are following including median build time, median queue time, last build time, success rate, and parallelism.