Leading-edge organizations want to make sure that their applications are scalable, reliable, and secure. Shipping products to users quickly and reliably is imperative to gaining a competitive edge.
What enables companies to ship their product quickly and reliably?
For CircleCI users, one answer to that question is orbs. Orbs are the go-to accelerator for teams looking to simplify CI/CD across multiple projects with similar needs. Orbs also make it easier and faster for developers to get up to speed on projects.
In this blog post, we cover the what, why, and how of CircleCI orbs, and leave you with some guidance on how to implement orbs into your own CI/CD practice.
What are orbs?
Orbs are a list of instructions that allow you to automate a specific task across multiple projects, following proven logic. They help you minimize configuration complexity while acting as a package manager, integrating your software and services stack quickly and efficiently. Orbs are customizable and come equipped with the ability to leverage jobs, commands, and executors to match your unique needs for a project.
There are public and private orbs that users can adopt across projects with similar use cases. Public orbs integrate popular tools and are available to the broader community of developers using CircleCI. Additionally we offer private orbs, limited to users within the same organization. Private orbs are available to all customers, including those on our free plan. Learn more in Build private CircleCI orbs on any organization.
Public vs private orbs
- Any CircleCI user can use public orbs in their own configurations.
- CircleCI orbs are open-source, so creating or using public orbs is a way to pay it forward to other developers. Published orbs can be found on our Developer Hub.
- Private orbs are only published internally. Companies may choose to author private orbs because they don’t want competitors to know that they are using a certain tool in their development process.
- Private orbs do not appear in the CircleCI Developer Hub, and they cannot be viewed or used by someone outside of your organization, nor can they be used in a pipeline that does not belong to your organization.
One of the most exciting things about orbs is that you can create both public and private orbs yourself using the orb development kit.
It’s important to note that private orbs are not meant to be used as a secrets management tool. Any information that could be considered “secret” such as API keys, auth tokens, and passwords, should never be entered directly as parameter values. CircleCI’s orb development best practices has more information on this. For the purpose of storing secrets, we strongly recommend using contexts and environment variables or using OpenID Connect (OIDC) authentication tokens to securely access secrets stored in a third-party secrets manager.
Don’t reinvent the wheel
Using orbs in your pipelines can save a lot of time. In this example, creating and adopting the orb to test the node app means using just the
test job (already pre-configured) in the project’s config file, versus actually creating the job and outlining the steps for testing the Node application. Not only does this save developers’ time in configuring CI/CD pipelines, but it also helps to keep config in line with Don’t Repeat Yourself (DRY) best practices, which means you don’t have to reinvent the wheel each and every time you write code.
Enterprise customers have hundreds or thousands of CI/CD pipelines, and that means configuration files to match. Using orbs can help companies of this size ensure their pipelines and config files stay reliable and efficient at scale.
How orbs keep your app secure
Orbs are essential in building and maintaining a healthy CI/CD pipeline. They’re also very useful for teams looking to deploy and test their application across multiple security tools. CircleCI has partnered with several security organizations whose partner orbs can be leveraged to test against your app.
Simply call those orbs, test them against your application, and collect meaningful data insights into security vulnerabilities to ensure quality control. Filter partner orbs by
security to see all CircleCI security partner orbs.
Why should you use orbs?
The ultimate goal of orbs is that developers can more easily engage with a configuration file instead of feeling consumed by it. Simply being able to call an orb allows developers to shift their focus to building out jobs and workflows rather than spending time configuring code.
With an intuitive design and framework, orbs are easily maintained through configuration and versioning. This goes beyond optimization — orbs reduce build times and credit consumption, and dare I say it, improve developer sanity.
No matter if they’re public or private, orbs are the best way to ensure speed, reliability, and security into your CI/CD process. To view public orbs or get started authoring your own, sign up for your free CircleCI account and check out the CircleCI orb development kit.