Package, ship, and re-use config with orbs.
/ôrb/ noun
A reusable package of YAML configuration that condenses repeated pieces of config into a single line of code.
Why use an orb?
Orbs are reusable snippets of code that help automate repeated processes, speed up project setup, and make it easy to integrate with third-party tools.
-
Save time on project configuration
-
Increase organizational efficiency
-
Simplify third-party integrations
Use a pre-built orb
To use a pre-built orb, copy the config code from the orbs registry into your team’s config file. Our extensive list of orbs are held in an open source code library. Try something new without committing days of engineering time to setting up a new system, feature, or DevOps practice.
Create an orb for your team
If you don’t see an orb that fits your team’s needs, create a specialized orb using our getting started and best practices guides. Help your organization adopt CI/CD and share configuration components across multiple projects and teams.
Explore orb use cases
Save time on project configuration and easily set up third-party integrations.
Reusable commands, executors, and jobs
Orbs define reusable commands, executors, and jobs so that commonly used pieces of configuration can be condensed into a single line of code.
version: 2.1
description: An orb with some simple ways to help you with your first build.
commands:
circleci-env-highlights:
steps:
- run:
command: |-
echo "TRIGGERER: ${CIRCLE_USERNAME}"
echo "BUILD_NUMBER: ${CIRCLE_BUILD_NUM}"
echo "BUILD_URL: ${CIRCLE_BUILD_URL}"
echo "BRANCH: ${CIRCLE_BRANCH}"
echo "RUNNING JOB: ${CIRCLE_JOB}"
echo "JOB PARALLELISM: ${CIRCLE_NODE_TOTAL}"
echo "CIRCLE_REPOSITORY_URL: ${CIRCLE_REPOSITORY_URL}"
name: Show some of the CircleCI runtime env vars
hello-triggerer:
parameters:
to:
default: ${CIRCLE_USERNAME}
type: string
steps:
- run: echo "Hello << parameters.to >>"
system-info:
steps:
- run:
command: |-
echo "uname:" $(uname -a)
echo "arch: " $(arch)
name: Show system information
executors:
default:
docker:
- image: circleci/buildpack-deps:<< parameters.tag >>
parameters:
tag:
default: curl-browsers
type: string
jobs:
hello-build:
executor: default
steps:
- hello-triggerer
- circleci-env-highlights
- system-info