Docs
circleci.com
Start Building for Free

Introduction to Authoring Orbs

2 months ago1 min read
Cloud
Server v3.x
On This Page

Quick start

Orbs take reusable configuration and package it in a way that can be published to the Orb Registry and imported into multiple configuration files. If you manage multiple, similar projects, consider abstracting out your config with orbs.

Before authoring an orb, it is recommended that you become familiar with the CircleCI config and authoring parameterized reusable config elements pages.

Orbs consist of three main elements:

Practice with inline orbs. Inline orbs can be defined within a single config file for easy and quick testing.

Getting started

Orb CLI

To begin creating orbs, you will need to set up the CircleCI CLI on your local machine, with a personal access token. For a full list of orb-related commands inside the CircleCI CLI, visit CircleCI CLI help.

Permissions matrix

Orb CLI commands are scoped to different user permission levels, set by your VCS. You are the owner of your own organization. If you are authoring or publishing orbs for a namespace owned by another organization, you may require assistance from your organization admin:

Orb CommandPermission Scope
circleci namespace createOwner
circleci orb initOwner
circleci orb createOwner
circleci orb publish development versionMember
circleci orb publish production versionOwner

Register a namespace

Every organization registered on CircleCI is able to claim one unique namespace. This includes your personal organization and any organization you are a member of. As each organization or user account is limited to a single namespace, in order to register the namespace for an organization you must be the owner of the organization.

Note: Within CircleCI, we sometimes refer to individual users as “organizations” or “personal organizations”, since from our perspective there are no notable differences. Hence, some commands refer to an org-name. This can simply be your GitHub or Bitbucket username.

Enter the following command to claim your namespace, if you have not yet claimed one:

circleci namespace create <name> <vcs-type> <org-name> [flags]

where name is the namespace you wish to claim, vcs-type is the type of your version control system (i.e. github or bitbucket), and org-name is the name of your organization.

Next steps


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.

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.