YAML模式
DockerBuild原生步骤的YAML模式如下:
XrayScan
- name:steps: - name:扫描类型:XrayScan配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash failOnScan: # default true input2022世界杯阿根廷预选赛赛程Resources:—name: # required trigger: false outputResources:—name: # optional execution: onStart: - echo "Preparing for work…"onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something went wrong" onComplete: #always - echo " cleanup up some stuff"
标签
的名字
一个字母数字字符串(允许使用下划线),用于标识步骤。
类型
必须XrayScan
对于这个步骤类型。
配置
指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
input2022世界杯阿根廷预选赛赛程Resources |
必须指定BuildInfo资源.的buildName 而且buildNumber 用于触发扫描。 |
要求 |
output2022世界杯阿根廷预选赛赛程Resources |
可指定BuildInfo资源.BuildInfo将被更新 |
可选 |
从Bash派生的标记
此外,可以定义这些标记来支持该步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
failOnScan |
当设置为 默认是 |
可选 |
执行
声明在执行前和执行后阶段执行的shell命令序列集合:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成后执行的命令 | 可选 |
onFailure |
在完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
对象执行的操作onExecute
阶段是此步骤类型固有的,不能被覆盖。
保留关键字
onExecute
,onStart
,调用onSuccess
,onFailure
,onComplete
是保留的关键字。在执行脚本的任何其他上下文中使用这些关键字都可能导致意外行为。
例子
下面的示例展示如何配置XrayScan步骤。
触发x射线扫描版本名称和编号
触发对输入BuildInfo资源提供的构建名称和编号的x射线扫描。
- 这个例子需要一个GitHub集成和一个Artifactory集成.
- 本例中的管道DSL是可以在t他的仓库在JFrogGitHub帐户。
XrayScan
模板:true #需要本地模板—名称:2022世界杯阿根廷预选赛赛程app_repo类型:GitRepo配置:gitProvider: {{. values . yml资源:—名称:app_repo类型:GitRepo配置:gitProvider: {{. values . xmlgetintegration}}路径:{{. values。gitRepositoryPath}}分支:包括:master - name: app_buildinfo type: BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}} - name: app_promoted_buildinfo类型:BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}}管线:—name: app_dev_pipeline步骤:—name: app_build type: DockerBuild configuration: affinityGroup: docker_group dockerFileLocation:。dockerFileName: Dockerfile dockerImageName: {{. values。artifactoryUrl}}/{{. values。sourceRepository}}/{{. values。imageName}} dockerImageTag: ${run_number} inputR2022世界杯阿根廷预选赛赛程esources:—name: app_repo integrations:—name: {{. values。artifactoryIntegration}} - name: app_push类型:DockerPush配置:affinityGroup: docker_group targetRepository: {{. values . name: app_push类型:DockerPush配置sourceRepository}}集成:- name: {{. values . properties:artifactoryIntegration}} inputSteps:—name: app_build - name: publish_app_build type: PublishBuildInfo configuration: affinityGroup: docker_group inputSteps:—name: app_push outputResou2022世界杯阿根廷预选赛赛程rces:—name: app_buildinfo - name: xrayScanStep type: XrayScan configuration: inputResources:—name: app_buildinfo
更新输出BuildInfo资源
更新输出BuildInfo资源,可将其用作未来步骤的输入。使用输出资源意味着您可以确保在使用该资源作为输入时已经扫描了这些版本。
XrayScan
管线:—name: xrayScanPipeline步骤:—name: xrayScanStep type: XrayScan configuration: inputResources:—name2022世界杯阿根廷预选赛赛程: inputBuildInfo outputResources:—name: outputBuildInfo
工作原理
当你使用XrayScan管道中的本机步骤,它在后台执行以下功能:
- jfrog rt配置(如果有BuildInfo输出,使用输入BuildInfo资源的凭据配置jfrog CLI)
- Jfrog rt使用(指定要使用的配置凭据)
- Jfrog rt build-scan(触发扫描)
- replicate_resource (如果有一个输出BuildInfo,将输入BuildInfo资源的属性复制到输出)
- write_output(如果有输出BuildInfo,更新输出BuildInfo资源buildName和buildNumber)