Search Results for ""

Introduction to Authoring Orbs

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.

Orb Authors agree to the CircleCI Code Sharing Terms of Service. All published orbs are made available publicly on the Orb Registry under the MIT License agreement. For more information, see Orb Licensing.

Getting Started

Orb CLI

To begin creating orbs, you will need to setup 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 Command Permission Scope
circleci namespace create Owner
circleci orb create Owner
circleci orb publish development version Member
circleci orb publish production version Owner

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 is limited to a single namespace, In order to register the namespace for an organization you must be the owner of the organization.

Enter the following command to claim your namespace, if you have not yet claimed one. circleci namespace create <name> <vcs-type> <org-name> [flags]

Create an Orb

Within your namespace, create an orb which you will eventually push your orb source code.

Run the following command to create an empty orb within your namespace:

circleci orb create <namespace>/<orb> [flags]

Next Steps

Continue on to Orb authoring for details on writing your orb.

See Also