Example YAML Files
To aid instruction, our example divides our pipeline config into two YAML files:
pipelines.resources.yml
– Declarations of all resources used.pipelines.steps.yml
- Declaration of the workflow steps.
It would be equally valid to keep both parts in a single file, if you choose.
All pipeline definitions are global across your JFrog Pipelines. The names of your pipelines and resources need to be unique within JFrog Pipelines.
Integrations
This pipeline configuration assumes that the following integrations have been added to the JFrog Pipelines:
myDist
- A Distribution IntegrationmyArtifactory
- An Artifactory Integration
Resources
pipelines.resources.yml
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"
Pipeline and Steps
pipelines.steps.yml
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