This ssection describes Native and Generic steps used to store and validate signed Pipelines data and includes and example YAML.
Native Steps
Pipelines native steps automatically store information about the artifacts they build so that they can be used later as part of the signed pipelines validation.
Note
The PowerShell version of these steps do not support the signed pipelines feature.
The following native steps can save artifact info:
The following native steps can validate the published artifacts:
Generic Steps
It is also possible to create your own signed pipeline using only Bash steps. To accomplish this, use the following utility functions, which are available at execution time, to configure what needs to be tracked and validated.
save_artifact_info
validate_artifact
If an artifact is saved in one Bash step, it can be validated in a later Bash step.
Example YAML
Signed Pipelines for Bash
resources: - name: signed_git type: GitRepo configuration: gitProvider: myGithub path: ~test/myapp branches: include: ^master$ - name: signed_buildinfo type: BuildInfo configuration: sourceArtifactory: myArtifactory pipelines: - name: test_signed_start steps: - name: create_info type: Bash configuration: inputResources: - name: signed_git integrations: - name: myArtifactory outputResources: - name: signed_buildinfo execution: onExecute: - cd $res_signed_git_resourcePath - jfrog rt upload server.js - jfrog rt build-collect-environment - jfrog rt build-publish --detailed-summary $JFROG_CLI_BUILD_NAME $JFROG_CLI_BUILD_NUMBER > summaryOutput.json - save_artifact_info buildInfo summaryOutput.json --build-name=$JFROG_CLI_BUILD_NAME --build-number=$JFROG_CLI_BUILD_NUMBER - name: test_signed_stop steps: - name: validate_info type: Bash configuration: inputResources: - name: signed_buildinfo execution: onExecute: - response=$(validate_artifact buildInfo --build-name ${res_signed_buildinfo_buildName} --build-number ${res_signed_buildinfo_buildNumber}) - validateResult=$(echo "$response" | jq '.result') - if [ "$validateResult" != "true" ]; then echo "failed validation" && exit 1; fi