It has been nearly a year since we launched CircleCI’s orbs, the world’s first package manager designed specifically for configuration of software delivery automation. Orbs enable CI/CD engineers to simplify their config and remove the repetition of certain tasks. Now, anyone can use a community-developed solution to download a CLI, integrate testing, add security checks, or deploy to production. This past year we have had the opportunity to see how our users are taking advantage of orbs, and with this knowledge, we have been able to identify design strategies for creating useful, reusable, and parameterizable orbs that anyone can use.
The following list of resources will prepare you for creating an orb that gets maximum usage.
- Orbs introduction
- Orbs Best Practices
- Publishing Orbs
- Orb Author FAQ
- Discussion of orbs
- How to make an easy and valuable open source contribution with CircleCI orbs
- Tips for writing your first orb
- Building the Elixir orb
- Creating automated build, test, and deploy workflows for orbs, part 1 and part 2
The best orb author is also a great CircleCI config writer. There are many ways to write an orb, but as with any programming or scripting languages, the more you know about the underlying principles of the language, the better your code will be. When designing an orb, always consider the end user’s position and needs. The point of an orb is to reduce as much friction as possible between the developer and the service that they are trying to use. With this as a guiding principle and the resources listed above, you’ll be well on your way to creating an orb that delivers value to you as well as to the broader community.