1

I'm looking at: CircleCI Orb for kubernetes

Whats the point of this? Whats the benefit of an orb which is a CircleCI specific feature rather than say a bash function/script (which is more interoperable/common)?

Seems like unnecessary lockin, but maybe I'm just being naive here?

Yasen
  • 732
  • 4
  • 10
Chris Stryczynski
  • 483
  • 1
  • 3
  • 15

2 Answers2

1

Let me answer each your question in parts.

What the point is?

As per Orbs Introduction:

orbs are shareable packages of configuration elements, including jobs, commands, and executors. CircleCI provides certified orbs, along with 3rd-party orbs authored by CircleCI partners

The advantages of this approach are that an authorized package of jobs, commands, and executors is offered.

Assuming hundreds of orbs, it looks like a community-approved plugin/addon ecosystem. E.g. Ansible roles or Jenkins plugins or Wordpress plugins

orbs vs shell functions/script

Since orb packages:

then it can hardly be replaced by a simple combinations of shell commands/functions.

Seems like unnecessary lockin?

As for lock-in concerns: you are right.

It looks like lock-in. And it is lock-in.

But as I know, there isn't any portable solution than can be easily migrated from one CI/CD system to another. E.g. try to convert .gitlab-ci.yml to travis.yml.

But lock-in's, as usual, tend to give you an advantage in speed or ease of deployment.

Portability

Since there are four executor types (docker, machine, windows and macos), it gives you more portable and cross-platform approach.

Yasen
  • 732
  • 4
  • 10
0

orbs can help you saving a lot of time and from lots of configurations hassles in circle ci configuration. orbs provides extra functionality in your build pipeline with its pre-configured properties.

suppose, you want to copy your build artifact to s3 bucket from circle build environment. to achieve that goal without orbs, you need to install awscli and then set environment variables for iam access key id, secret access key, region. but with orbs you can import the s3 copy functionality in build pipeline and provide iam key pairs and region value into that orb function. thus it helps you to use pre-existing templates with certain functionalities in build environment. same goes to k8s deployment by using kubectl from k8s orb without installing kubectl in circle pipeline.

chaks
  • 21
  • 2