YAML模式
PublishBuildInfo本机步骤的YAML模式如下:
管道:- name:步骤:- name: 类型:PublishBuildInfo配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash envInclude: envExclude: forceXrayScan: # default false failOnScan: # default true inputSteps: - name: <任何构建步骤或Bash步骤> # required outputResources: - name: # required 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"
标签
的名字
一个字母数字字符串(允许使用下划线),用于标识步骤。
类型
必须PublishBuildInfo
对于这个步骤类型。
配置
指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
inputSteps |
必须指定以下类型之一的命名步骤:
步骤必须不已经建立 |
要求 |
output2022世界杯阿根廷预选赛赛程Resources |
必须指定BuildInfo要发布的资源。的
如果
inputSteps 是Bash步骤和buildName美元 或buildNumber美元 未定义,则此步骤将失败。 |
要求 |
此外,可以定义这些标记来支持该步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
envInclude |
模式,其中包含环境变量。默认情况下包括所有环境变量。 | 可选 |
envExclude |
要排除的环境变量的模式.除了应用于所有构建信息的基本排除模式外,还应用此模式。 | 可选 |
forceXrayScan |
当设置为true时,在发布到Artifactory后强制进行x射线扫描。 默认为false。 |
可选 |
failOnScan |
当设置为真正的,w当x光片策略规则失败的构建复选框,则x射线扫描失败将导致该步骤失败。 默认为true。 |
可选 |
执行
声明在执行前和执行后阶段执行的shell命令序列集合:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成后执行的命令 | 可选 |
onFailure |
在完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
对象执行的操作onExecute
阶段是此步骤类型固有的,不能被覆盖。
例子
下面的示例展示如何配置PublishBuildInfo步骤。
全管道示例
推送DockerBuild输入步骤创建的映像,并将BuildInfo发布到Artifactory。
- 此示例需要一个Artifactory集成和一个GitHub集成.
- 本例中的管道DSL是可以在这个存储库在JFrogGitHub帐户。
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。yml文件。模板:true #需要本地模板—名称:2022世界杯阿根廷预选赛赛程app_repo1类型:GitRepo配置:gitProvider: {{. values . yml资源:—名称:app_repo1类型:GitRepo配置:gitProvider: {{. values . yml资源:getintegration}}路径:{{. values。gitRepositoryPath}}分支:包括:master - name: app_buildinfo1 type: BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}} - name: app_promoted_buildinfo1类型: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 outputResources: - name: app_buildinfo
MvnBuild例子
这扩展了第一个MvnBuild示例使用PublishBuildInfo步骤发布构建信息。
pipeline:—name: MyMavenPipeline steps:—name: MavenWithArtifactory type: MvnBuild configuration: integration:—name: art inputResource2022世界杯阿根廷预选赛赛程s:—name: mvn_repo - name: publishBuildInfoStep type: PublishBuildInfo configuration: inputSteps:—name: MavenWithArtifactory outputResources:—name: buildInfoResource
NpmBuild而且NpmPublish例子
一个NpmBuild而且NpmPublish示例使用PublishBuildInfo步骤发布构建信息,并在PublishBuildInfo步骤中触发x射线扫描。
管道:—name: npmBuildPipeline步骤:—name: npmBuildStep类型:NpmBuild配置:inputResources:—name: gitRepoResource2022世界杯阿根廷预选赛赛程集成:—name: artifactory_integration—name: npmPublishStep类型:NpmPublish配置:deployerRepo: npm-repo inputSteps:—name: npmBuildStep outputResources:—name: outputBuildInfo—name: PublishBuildInfo step类型:PublishBuildInfo配置:forceXrayScan: true inputSteps:—name: npmPublishStep outputResources:—name: buildInfoResource
Bash和goppublishmodule Step
输入到PublishBuildInfo步骤的Bash步骤GoPublishModule的一步。
管道:—名称:goPublishModulePipeline步骤:—名称:goPublishModuleStep类型:GoPublishModule配置:版本:“v0.0”。${run_number}" targetRepository: go-repo self: true deps: ALL input2022世界杯阿根廷预选赛赛程Resources: - name: gitRepoResource integration: - name: artifactory_integration - name: moduleTestStep type: Bash配置:inputSteps: - name: goPublishModuleStep执行:onExecute: - "echo '正在运行一些测试。- name: publishBuildInfoStep type: PublishBuildInfo configuration: environmentVariables: buildStepName: gopubishmodulestep inputSteps:—name: moduleTestStep outputResour2022世界杯阿根廷预选赛赛程ces:—name: buildInfoResource
工作原理
当你使用PublishBuildInfo管道中的本机步骤,它在后台执行以下功能:
- jfrog rt配置(使用BuildInfo输出凭证配置jfrog CLI)
- Jfrog rt使用(指定要使用的配置凭据)
- Restore_run_files(从输入步骤复制输出和构建信息)
- Jfrog rt build-publish(发布构建信息)
- jfrog rt build-scan(如果forceXrayScan为true,则触发扫描)
- write_output(如果autopubishbuildinfo为true,更新输出的BuildInfo资源)
- Add_run_files(更新在运行状态下保存的构建信息)