Configuration Overview
CircleCI configuration syntax is structured YAML and starts with the version, a named job, and an executor type for that job, either docker
, machine
, windows
or macos
. CircleCI provides prebuilt Docker images for your convenience as described in the following video.
Secrets, private keys, tokens, and scripts
Encrypt and store secrets and private keys for your project by following the environment variables or contexts documentation. Review the best practices for using shell scripts to secure scripts and properly manage API tokens in your configuration.
Advanced test configuration
CircleCI enables you to parallelize your test runs for greatest efficiency. It is also possible to test with browsers and databases, refer to the Browser Testing and Database Configuration documents for details.
Help make this document better
This guide, as well as the rest of our docs, are open source and available on GitHub. We welcome your contributions.
- Suggest an edit to this page (please read the contributing guide first).
- To report a problem in the documentation, or to submit feedback and comments, please open an issue on GitHub.
- CircleCI is always seeking ways to improve your experience with our platform. If you would like to share feedback, please join our research community.
Need support?
Our support engineers are available to help with service issues, billing, or account related questions, and can help troubleshoot build configurations. Contact our support engineers by opening a ticket.
You can also visit our support site to find support articles, community forums, and training resources.

CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.