The YAML schema for DockerBuild native step is as follows:
An alphanumeric string (underscores are permitted) that identifies the step.
CreateReleaseBundle for this step type.
Description of usage
Must specify a ReleaseBundle resource.
In addition, these tags can be defined to support the step's native operation:
Description of usage
|An alphanumeric name for the release bundle.||Required|
|Version string for the release bundle.||Required|
When set to
Default is true.
Specifies whether the release bundle version will be signed as part of this step.
Default is false.
|Description of the release bundle.||Optional|
Describes the release notes for the release bundle version.
Fail the step if one of the signatures of the BuildInfo input resource artifacts cannot be verified.
|Optional (Signed Pipelines must be enabled)|
GPG Signing Key Passphrase
Declares collections of shell command sequences to perform for pre- and post-execution phases:
|Tag||Description of usage||Required/Optional|
|Commands to execute in advance of the native operation||Optional|
|Commands to execute on successful completion||Optional|
|Commands to execute on failed completion||Optional|
|Commands to execute on any completion||Optional|
The actions performed for the
onExecute phase are inherent to this step type and may not be overridden.
The following examples show which settings to configure for a few different release bundles.
Unsigned Release Bundle Created using BuildInfo Resource
A simple, unsigned release bundle created using a BuildInfo resource. In this case, the release bundle version will be the run number and will have no description or release notes.
- This example requires an Artifactory Integration and a Distribution Integration.
- The Pipelines DSL for this example is available in this repository in the JFrog GitHub account.
Create and Sign Release Bundle
Create and immediately sign a release bundle, with a description and release notes added to the release bundle.
Trigger a Dry Run
Trigger a dry run of the release bundle creation. No release bundle will be created.
How it Works
When you use the CreateReleaseBundle native step in a pipeline, it performs the following functions in the background:
- jfrog rt config (configure cli with the integration in the input resource)
- jfrog rt curl (get the Artifactory service_id)
- validate_artifact (use the signed pipelines feature to verify the incoming BuildInfo)
- Create the release bundle creation payload (the JSON object that will be in the request to Distribution)
- curl (send the release bundle creation payload to Distribution)
- write_output (update the output ReleaseBundle resource)
- save_artifact_info (if the bundle was signed, save the data for use with signed pipelines)