CreateReleaseBundle - Examples

JFrog Pipelines Documentation

Products
JFrog Pipelines
Content Type
User Guide
ft:sourceType
Paligo

The following examples show which settings to configure for a few different release bundles. For more information on CreateReleaseBundle Pipeline steps, see CreateReleaseBundle.

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.

CreateReleaseBundle

template: true   # required for local templates
valuesFilePath: ./values.yml

resources:
  # Build info of first build to bundle
  - name: gosvc_promoted_build_info
    type: BuildInfo
    configuration:
      sourceArtifactory: {{ .Values.myArtifactoryIntegration }}
      buildName: svc_build
      buildNumber: 1

  # Build info of second build to bundle
  - name: appl_promoted_build_info
    type: BuildInfo
    configuration:
      sourceArtifactory: {{ .Values.demoArtifactoryIntegration }}
      buildName: backend_build
      buildNumber: 1

  # Release bundle
  - name: release_bundle
    type: ReleaseBundle
    configuration:
      sourceDistribution: {{ .Values.distributionIntegration }}
      name: demo_rb
      version: v1.0.0

  # Signed version of the same release bundle
  - name: signed_bundle
    type: ReleaseBundle
    configuration:
      sourceDistribution: {{ .Values.distributionIntegration }}
      name: demo_rb
      version: v1.0.0

  # Distribution rules
  - name: distribution_rules
    type: DistributionRule
    configuration:
      sourceDistribution: {{ .Values.distributionIntegration }}
      serviceName: "*"
      siteName: "*"
      cityName: "*"
      countryCodes:
        - "CN"
        - "GB"

pipelines:
  - name: demo_release_mgmt
    steps:
      - name: bundle
        type: CreateReleaseBundle
        configuration:
          releaseBundleName: demo_rb
          releaseBundleVersion: v1.0.${run_number}
          dryRun: false
          sign: false
          description: "some random test description"
          inputResources:
            - name: gosvc_promoted_build_info
              trigger: true
            - name: appl_promoted_build_info
              trigger: true
          outputResources:
            - name: release_bundle
          releaseNotes:
            syntax: markdown
            content: |
              ## Heading
                * Bullet
                * Points
            
      - name: sign
        type: SignReleaseBundle
        configuration:
          inputResources:
            - name: release_bundle
          outputResources:
            - name: signed_bundle

      - name: distribute
        type: DistributeReleaseBundle
        configuration:
          dryRun: false
          inputResources:
            - name: signed_bundle
            - name: distribution_rules

Create and Sign Release Bundle

Create and immediately sign a release bundle, with a description and release notes added to the release bundle.

CreateReleaseBundle

pipelines: 
  - name: createReleaseBundlePipeline
    steps:
      - name: createReleaseBundleStep
        type: CreateReleaseBundle
        configuration:
          releaseBundleName: myReleaseBundle
          releaseBundleVersion: "${run_number}"
          dryRun: false
          sign: true
          description: "My release bundle"
          releaseNotes:
            syntax: plain_text
            content: "Release of ${run_number} by ${step_name}"
          inputResources:
            - name: myBuildInfo
          outputResources:
            - name: myReleaseBundle

Trigger a Dry Run

Trigger a dry run of the release bundle creation. No release bundle will be created.

CreateReleaseBundle

pipelines: 
  - name: createReleaseBundlePipeline
    steps:
      - name: createReleaseBundleStep
        type: CreateReleaseBundle
        configuration:
          releaseBundleName: myReleaseBundle
          releaseBundleVersion: "${run_number}"
          dryRun: true
          inputResources:
            - name: myBuildInfo
          outputResources:
            - name: myReleaseBundle