A DistributionRule
resource is the set of Destination rules that can be applied to distributing a release bundle using JFrog Distribution.
YAML Schema
resources: - name: <string> type: DistributionRule configuration: sourceDistribution: <distribution integration name> serviceName: <string> # required, only when used with Distribution 1.x siteName: <string> cityName: <string> countryCodes: - <string> - <string>
Tags
name
An alphanumeric string (underscores are permitted) that identifies the resource.
type
Must be DistributionRule
for this resource type.
configuration
Specifies all configuration selections for the resource.
Tag | Description | Required/Optional |
---|---|---|
| The name of a Distribution Integration. | Required |
| The Artifactory Edge Node site name specified with a wildcard pattern. | Required |
| The Artifactory Edge Node city name with a wildcard pattern. | Required |
| The Artifactory Edge Node country codes. | Required |
| The Artifactory Edge Node service name with a wildcard pattern. | Required only when used with Distribution v.1. |
Environment Variables
Whenever DistributionRule is used in a step, a set of environment variables is automatically made available that you can use in your step.
Environment Variable | Description |
---|---|
res_<resource_name>_name | Name of the resource |
res_<resource_name>_servicename | The Artifactory Edge Node service name |
res_<resource_name>_sitename | The Artifactory Edge Node site name |
res_<resource_name>_cityname | The Artifactory Edge Node city name |
res_<resource_name>_countrycodes | The Artifactory Edge Node country codes |
Example
This examples requires an Artifactory Integration and Distribution Integration.
The Pipelines DSL for this example is available in this repository in the JFrog GitHub account.
resources: # Build info of first build to bundle - name: gosvc_promoted_build_info type: BuildInfo configuration: sourceArtifactory: myArtifactory buildName: svc_build buildNumber: 1 # Build info of second build to bundle - name: appl_promoted_build_info type: BuildInfo configuration: sourceArtifactory: demoArt buildName: backend_build buildNumber: 1 # Release bundle - name: release_bundle type: ReleaseBundle configuration: sourceDistribution: myDist name: demo_rb version: v1.0.0 # Signed version of the same release bundle - name: signed_bundle type: ReleaseBundle configuration: sourceDistribution: myDist name: demo_rb version: v1.0.0 # Distribution rules - name: distribution_rules type: DistributionRule configuration: sourceDistribution: myDist 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