CircleCI recently announced the availability of Deployment Orbs which focus on streamlining and simplifying the integration of deployment workflows into CircleCI jobs. This release includes orbs for deploying into common environments such as AWS, Google Cloud, Azure, Kubernetes, and Salesforce.
Orbs are shareable components that allow for creating reusable code blocks for common tasks within CircleCI workflows. This allows for organizations to share their CI/CD workflows across teams and projects. It also provides a means for integrating third-party solutions into CI/CD workflows with minimal effort. Orbs can be found within the orbs registry, providing a single location for sharing of official orbs, partner-provided orbs, and community-contributed orbs.
With deployment orbs, CircleCI has grouped together a few existing orbs with some new additions. These orbs all share the common theme of facilitating deployment operations. With deployment orbs, developers can deploy directly from the CI/CD pipeline to any testing or production environment. Tom Trahan, VP of business development at CircleCI, notes that "our deployment orbs make it easy to integrate with these modern tools, eliminating the need for teams to spend time and cycles building the integrations themselves."
The deployment orbs include integration with a number of cloud services such as Heroku, AWS, Cloud Foundry, and Google Cloud Platform. Deployments to Kubernetes is facilitated with orbs integrating with OpenShift, Helm, Kublr, Azure, Amazon, Google Cloud, and VMWare among others. There are additional deployment orbs that allow for integrations with a number of other tools including Spinnaker, SalesForce, and LaunchDarkly.
The Kubernetes orb provides a collection of tools for integrating CircleCI with Kubernetes. For example, deploying Kubernetes resources can be done as follows:
jobs:
create-update:
docker:
- image: 'cimg/base:stable'
steps:
- checkout
- kube-orb/install-kubectl
- kube-orb/create-or-update-resource:
get-rollout-status: true
resource-file-path: tests/nginx-deployment/deployment.yaml
resource-name: deployment/nginx-deployment
show-kubectl-command: true
orbs:
kube-orb: circleci/kubernetes@x.y.z
version: 2.1
Additional commands are provided that allow for updating and deleting resources, and installing kops, kubeconfig, and kubectl.
The LaunchDarkly orb provides a straightforward way for finding and registering all feature flag code references in LaunchDarkly. This can be accomplished with a minimal amount of configuration:
version: 2.1
orbs:
launchdarkly: launchdarkly/ld-find-code-refs@1.3.1
workflows:
main:
jobs:
- launchdarkly/find-code-references:
access_token: '${LD_ACCESS_TOKEN}'
proj_key: YOUR_LAUNCHDARKLY_PROJECT_KEY
debug: true
Since the release of orbs in 2018, there have been over 13,000 organizations using orbs within nearly 40,000 repositories and over nine million CI/CD pipelines. CircleCI notes that automating deployment operations accounts for about 20% of overall orb-usage. At the time of writing there are 116 certified and partner orbs available within the orb repository, with over 1200 orbs in total.
CircleCI has provided documentation on both how to use and publish orbs. Orbs are currently available within both the free and paid tiers of the cloud offering. For more information about the new deployment orbs added to the registry, please review the official announcement on the CircleCI blog.