The following examples show how to configure a DistributeReleaseBundle step to distribute or for a dry run. For more information on DistributeReleaseBundle Pipeline steps, see DistributeReleaseBundle.
Distribute Input Release Bundle Edge Node
Distributes the input release bundle to the edge nodes defined in the distribution rule.
This example requires an Artifactory Integration or JFrog Platform Access Token Integration and a Distribution Integration.
The Pipelines DSL for this example is available in this repository in the JFrog GitHub account.
DistributeReleaseBundle
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
Trigger a Dry Run
Triggers a dry run of the distribution.
DistributeReleaseBundle
pipelines: - name: distributeReleaseBundlePipeline steps: - name: distributeReleaseBundleDryRun type: DistributeReleaseBundle configuration: dryRun: true inputResources: - name: myReleaseBundle - name: myInputDistributionRule
Triggers Distribution and Updates Output Resource
Triggers a distribution and updates the output resource with the name and version of the input.
DistributeReleaseBundle
pipelines: - name: distributeReleaseBundlePipeline steps: - name: distributeReleaseBundleDryRun type: DistributeReleaseBundle configuration: dryRun: false inputResources: - name: myReleaseBundle - name: myInputDistributionRule outputResources: - name: myOutputReleaseBundle
Same Step for Dry Runs and to Distribute
In this example, the same step is used for both dry runs and to distribute the release bundle to Edge Nodes. The dry_run variable may be set in the pipeline configuration section or step configuration or added as a run variable by an earlier step in the pipeline using add_run_variable.
DistributeReleaseBundle
pipelines: - name: distributeReleaseBundlePipeline steps: - name: distributeReleaseBundleStep type: DistributeReleaseBundle configuration: dryRun: ${dry_run} inputResources: - name: myReleaseBundle - name: myInputDistributionRule