Skip to content

Commit 9198c0b

Browse files
Config overrides, URL orbs and centralised config (#9411)
* Adding `override-with` key to config reference (#9370) * Adding new key paragraph to config reference * Implementing review suggestions * Intro URL orbs (#9405) * add sections to introduce url orbs * Update jekyll/_cci2/orb-intro.adoc * Adding `override-with` key to config reference (#9370) * Adding new key paragraph to config reference * Implementing review suggestions --------- Co-authored-by: Yann D. <[email protected]> * How to override a job (#9407) * scaffolding for simple example done. * some formatting updates * structural changes and corrections * fixes * Adding `override-with` key to config reference (#9370) * Adding new key paragraph to config reference * Implementing review suggestions * updates from review * update syntax and add note to update URL * fix link and typo --------- Co-authored-by: Yann D. <[email protected]> * Orb authoring guides updates (#9416) * combine orb author guides and mention URL orbs * fix links * Add guide to managing a url orb allow list (#9413) * Creating URL orb related how-to page * Completing and improving page content * Implementing review suggestions * Addressing review comments * Adding note for screenshots * add screenshots --------- Co-authored-by: Rosie Yohannan <[email protected]> * update links from how to guide * fix some lint errors * create real links to API docs in manage allow-list page --------- Co-authored-by: Yann D. <[email protected]>
1 parent 125eced commit 9198c0b

File tree

23 files changed

+733
-49
lines changed

23 files changed

+733
-49
lines changed

jekyll/_cci2/orb-author-intro.adoc renamed to archived/_cci2/orb-author-intro.adoc

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ contentTags:
1111
:page-layout: classic-docs
1212
:page-liquid:
1313

14-
[#quick-start]
15-
== Quick start
14+
CircleCI orbs are packages of xref:orb-concepts#orb-configuration-elements[reusable configuration] that you can import into you CircleCI configuration files. Orbs come in two types:
1615

17-
Orbs take xref:orb-concepts#orb-configuration-elements[reusable configuration] and package it in a way that can be published to the link:https://circleci.com/developer/orbs[Orb Registry] and imported into multiple configuration files. If you manage multiple, similar projects, consider abstracting out your config with orbs.
16+
* Registry orbs are packaged in a way that can be published to the link:https://circleci.com/developer/orbs[orb registry] and imported into multiple configuration files.
17+
* URL orbs can be stored anywhere that can be accessed by your CircleCI project, and are referenced by a URL to import into your configuration files.
18+
19+
If you manage multiple, similar projects, consider abstracting out your config with orbs.
20+
21+
== Prerequisites
1822

1923
Before authoring an orb, it is recommended that you become familiar with the xref:config-intro#[CircleCI config] and authoring xref:reusing-config#[parameterized reusable config elements] pages.
2024

@@ -26,12 +30,12 @@ Orbs consist of three main elements:
2630

2731
Practice with xref:reusing-config#writing-inline-orbs[inline orbs]. Inline orbs can be defined within a single config file for testing.
2832

29-
NOTE: Orb authors automatically agree to the CircleCI link:https://circleci.com/legal/code-sharing-terms/[Code Sharing Terms of Service]. All publicly published orbs are made available on the Orb Registry under the link:https://opensource.org/licenses/MIT[MIT License agreement]. For more information, see link:https://circleci.com/developer/orbs/licensing[Orb Licensing].
33+
NOTE: Registry orb authors automatically agree to the CircleCI link:https://circleci.com/legal/code-sharing-terms/[Code Sharing Terms of Service]. All publicly published orbs are made available on the Orb Registry under the link:https://opensource.org/licenses/MIT[MIT License agreement]. For more information, see link:https://circleci.com/developer/orbs/licensing[Orb Licensing].
3034

31-
CAUTION: Once an orb is created it cannot be deleted. Orbs are link:https://semver.org/[SemVer compliant], and each published version is immutable. Publicly released orbs are potential dependencies for other projects. Therefore, allowing orb deletion would make users susceptible to unexpected loss of functionality.
35+
CAUTION: Once a registry orb is created it cannot be deleted. Registry orbs are link:https://semver.org/[SemVer compliant], and each published version is immutable. Publicly released orbs are potential dependencies for other projects. Therefore, allowing orb deletion would make users susceptible to unexpected loss of functionality.
3236

3337
[#getting-started]
34-
== Getting started
38+
== Getting started with registry orbs
3539

3640
[#orb-cli]
3741
=== Orb CLI

jekyll/_cci2/configuration-reference.adoc

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ workflows:
138138
Documentation is available for orbs in the following sections:
139139

140140
* xref:orb-intro#[Using Orbs]
141-
* xref:orb-author-intro#[Authoring Orbs].
141+
* xref:orb-author#[Authoring Orbs].
142142

143143
Public orbs are listed in the https://circleci.com/developer/orbs[Orb Registry].
144144

@@ -2455,6 +2455,36 @@ workflows:
24552455
----
24562456

24572457
'''
2458+
2459+
[#override-with]
2460+
====== *`override-with`*
2461+
2462+
The `override-with` key is used to override the job configuration with a job from the referenced orb.
2463+
2464+
[.table.table-striped]
2465+
[cols=4*, options="header", stripes=even]
2466+
|===
2467+
| Key | Required | Type | Description
2468+
2469+
| `override-with`
2470+
| N
2471+
| String
2472+
| The orb job name that will be used to override the existing job configuration. (Both URL-based and registry orbs are supported)
2473+
|===
2474+
2475+
*Example:*
2476+
2477+
[,yml]
2478+
----
2479+
include::../_includes/snippets/orchestration-examples/override-with.yml[]
2480+
----
2481+
2482+
In the example above, the `test` job in the workflow is being overridden with the orb job `my-orb/my-test`. The `my-orb/my-test` job might be defined with a different resource class or execution steps.
2483+
2484+
If the `my-orb/my-test` job is not defined inside the orb, the `test` job will compile using the local job definition.
2485+
2486+
'''
2487+
[#serial-group]
24582488
====== `serial-group`
24592489

24602490
The `serial-group` key is used to add a property to a job to allow a group of jobs to run in series, rather than concurrently, across an organization. Serial groups control the orchestration of jobs across an organization, not just within projects and pipelines.

jekyll/_cci2/create-an-orb.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ circleci update
3737

3838
circleci version
3939
```
40-
* xref:orb-author-intro#register-a-namespace[Register a namespace] for your GitHub organization. Ensure the organization on GitHub is the owner for the CircleCI namespace for which you are developing your orb. This will be automatically configured correctly if you are using your own personal organization and namespace.
40+
* xref:orb-author#register-a-namespace[Register a namespace] for your GitHub organization. Ensure the organization on GitHub is the owner for the CircleCI namespace for which you are developing your orb. This will be automatically configured correctly if you are using your own personal organization and namespace.
4141

4242
[#create-your-orb]
4343
== Create your orb

jekyll/_cci2/deployment-overview.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ workflows:
7878

7979
Under the hood, this orb creates, bundles, and deploys your application using your specified parameters set under the `aws-code-deploy/deploy` job declaration.
8080

81-
Check out the full range of available orbs in the link:https://circleci.com/developer/orbs[orbs registry]. If the orb you need has not been created yet, consider xref:orb-author-intro#[authoring one]!
81+
Check out the full range of available orbs in the link:https://circleci.com/developer/orbs[orbs registry]. If the orb you need has not been created yet, consider xref:orb-author#[authoring one]!
8282

8383
[#using-images-to-simplify-deployment]
8484
== Using images to simplify deployment

0 commit comments

Comments
 (0)