CircleCI offers three hosting options: cloud, server, and self-hosted runners.
Cloud: In this option, CircleCI manages the setup, infrastructure, security, and maintenance of your services. You get instant access to new feature releases and automatic upgrades, which alleviates the need for manual work on an internal system. This option does not require you to manage any infrastructure and you only pay for what you use.
Server: Server installations are behind a firewall that your team sets up through a service like AWS or GCP, and maintains according to your data center policy. You have full administrative control for complete customization and management of upgrades as new versions are released.
Self-hosted runners: Runners can be used with either our cloud offering or CircleCI Server. In either case, runners allow you to run execution behind your firewall, allowing you to meet any specific security concerns regarding multi-tenant cloud offerings. Additionally, runner enables teams to run on specialized resources that aren’t supported by our convenience images/machines.
In summary, the main difference between the three options is who manages the infrastructure.
- With the cloud option, CircleCI manages everything for you.
- With the server option, you have full control over the installation and management of CircleCI.
- With self-hosted runners, the responsibility is shared.
Currently, CircleCI Server supports GitHub Enterprise Cloud and GitHub Enterprise Server.
GitLab SaaS, self-managed GitLab, and Bitbucket cloud are only supported through our cloud offering at this time.
CircleCI Server integrates with other platforms through various methods:
- Version Control Systems: CircleCI Server integrates with GitHub Enterprise Cloud and GitHub Enterprise Server.
- Webhooks: CircleCI allows you to set up webhooks on individual projects. You can specify the URL of the endpoint the webhook will be sent to, which events to send, certificate validation, and a secret value source.
- Orbs: Orbs allow you to integrate with third-party systems by providing pre-configured packages that can be easily imported into your CircleCI build configuration.
- API: The CircleCI API provides a way for developers to interact with CircleCI programmatically, allowing for integration with third-party systems. The API provides endpoints that can be used to fetch information about jobs, workflows, and pipelines, and to trigger processes remotely from your applications or automation systems.
CircleCI Server is designed to be installed on your own infrastructure, whether that’s a private cloud or data center. It requires certain software depending on the platform you’re using:
- For AWS, you need the AWS CLI.
- For GCP, you need gcloud and gsutil, which can be installed and set up by installing the Google Cloud SDK. More information can be found in the Google Cloud SDK docs.
- For S3 compatible storage, you need to install and configure the MinIO CLI for your storage provider.
CircleCI Server is installed into an existing Kubernetes cluster, which should meet certain requirements depending on your usage. You can find this information in the CircleCI Server Installation Prerequisites.
Yes, please contact us if you are interested in learning more or evaluating CircleCI Server for your organization. We regularly host public demos for those interested in seeing what a typical workflow looks like in CircleCI. That being said, each server installation is unique to each customer’s environment. If you have specific questions or are ready to discuss what a trial would look like then please don’t hesitate to connect with our sales team who can guide you through our evaluation and trial process.