YAML模式
GoPublishBinary原生步骤的YAML模式如下:
- name:步骤:- name: type: GoPublishBinary配置:#从bash继承所有标签;//m.si-fil.com/confluence/display/JFROG/Bash forceXrayScan: # optional failOnScan: # default true autoPublishBuildInfo: # optional targetRepository: # required failOnValidate: # optional (Signed Pipelines必须启用)integration: - name: # required if autoPublishBuildInfo为false outputResources: - name2022世界杯阿根廷预选赛赛程: # required if autoPublishBuildInfo为true inputSteps: - name: - name: # required if autoPublishBuildInfo为true # required execution: onStart: - echo "Preparing for work…" onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something出错了" onComplete: #always - echo " cleanup up some stuff"
标签
名字
一个字母数字标识步骤的字符串(允许使用下划线)。
类型
必须GoPublishBinary
对于这一步,输入:
配置
指定步骤执行环境的所有配置选择。此步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
集成 |
指定一个Artifactory集成。时需要 |
可能需要 |
output2022世界杯阿根廷预选赛赛程Resources |
必须指定BuildInfo资源当 如果 |
可能需要 |
inputSteps |
必须指定GoBuild,Bash,或PowerShell的一步。 | 要求 |
此外,可以定义这些标签来支持步骤的本机操作:
从Bash派生的标签
标签 |
使用说明 |
必需的/可选 |
---|---|---|
forceXrayScan |
当为true时,强制扫描被推入的图像JFrog x光。 默认为false。 |
可选 |
failOnScan |
当设置为t 默认是 |
可选 |
autoPublishBuildInfo |
当设置为 默认是 |
可选 |
targetRepository |
Artifactory中的存储库,模块将在其中发布。 | 要求 |
failOnValidate |
如果无法验证构建工件的签名,则该步骤失败。 默认是 |
可选(必须启用签名管道) |
执行
声明要在执行前和执行后阶段执行的shell命令序列的集合:
标签 | 使用说明 | 必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成时执行的命令 | 可选 |
onFailure |
完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
执行的操作onExecute
阶段是此步骤类型所固有的,并且不能被覆盖。
例子
下面的示例展示了如何配置GoPublishBinary步骤。
上传至Artifactory
将由GoBuild步骤构建的二进制文件上传到名为go-local的Artifactory存储库。
- 这个例子需要Artifactory集成和一个GitHub集成。
- 这个示例的管道DSL是可以在这个存储库在JFrogGitHub帐户。
- 有关运行此示例的详细信息,请参见管道示例:Go Build。
这个配置文件是模板化的,所以它可以很容易地定制。值可以与值一起提供。yml文件。有关更多信息,请参阅“管道示例:Go Build”快速入门。template: true #本地模板需要valuesFilePath: ./values。示例Go2022世界杯阿根廷预选赛赛程应用程序在一个GitRepo -名称:go_repo类型:GitRepo配置:路径:{{. values。repoPath}}分支:包括:main gitProvider: {{. values。#为发布的Go应用程序构建信息-名称:go_buildinfo类型:BuildInfo配置:sourceArtifactory: {{. values。- name: go_build_pipeline_example步骤:#从GitRepo构建Go示例应用程序。文档在//m.si-fil.com/confluence/display/JFROG/GoBuild - name: build_go类型:GoBuild配置:sourceLocation:。resolverRepo: go-virtual noRegistry: true input2022世界杯阿根廷预选赛赛程Resources:—name: go_repo integrations:—name: {{. values。#将Go示例应用程序二进制文件发布到artifactory。Docs at //m.si-fil.com/confluence/display/JFROG/GoPublishBinary - name: publish_go_binary类型:GoPublishBinary配置:inputSteps: - name: build_go targetRepository: go-local integration: - name: {{. values . value . value . value . value . value . value . value . value . value . value。artifactory}}
上传构建信息
上传由GoBuild步骤构建的二进制文件到名为go-repo的Artifactory存储库并上传构建信息。的例子1的扩展GoBuild文档。
管道:-名称:goBuildPipeline步骤:-名称:goBuildStep类型:GoBuild配置:inputResources: -名称:gitRepoResource集成:-名称:a2022世界杯阿根廷预选赛赛程rtifactory_integration -名称:goPublishBinaryStep类型:GoPublishBinary配置:targetRepository: go-repo autoPublishBuildInfo: true inputSteps: -名称:goBuildStep outputResources: -名称:outputBuildInfo
发布构建信息并触发x射线扫描
在本例中,发布构建信息并触发x射线扫描。
管道:-名称:goBuildPipeline步骤:-名称:goBuildStep类型:GoBuild配置:inputResources: -名称:gitRepoResource集成:-名称:a2022世界杯阿根廷预选赛赛程rtifactory_integration -名称:goPublishBinaryStep类型:GoPublishBinary配置:targetRepository: go-repo autoPublishBuildInfo: true forceXrayScan: true inputSteps: -名称:goBuildStep outputResources: -名称:outputBuildInfo
它是如何工作的
当你使用GoPublishBinary它是管道中的原生步骤,在后台执行以下功能:
- jfrog rt配置(如果有BuildInfo输出,用这些凭据配置jfrog CLI)
- Jfrog rt使用(指定要使用的配置凭据)
- restore_run_files(从GoBuild步骤复制输出和构建信息)
- Jfrog rt上传(上传二进制文件)
- jfrog rt build-publish(如果autoppublishbuildinfo为true,则发布构建信息)
- write_output(如果autoPublishBuildInfo为true,则更新输出BuildInfo资源)
- jfrog rt build-scan(如果forceXrayScan为true,触发扫描)
- Add_run_files(更新保存在运行状态下的构建信息)