YAML模式
gopubishbinary原生步骤的YAML模式如下:
管道:- name:步骤:- name: 类型:gopubishbinary配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash forceXrayScan: # optional failOnScan: # default true autopubblishbuildinfo: # optional targetRepository: # required failOnValidate: # optional (Signed Pipelines必须启用)integrations: - name: # required如果autopubblishbuildinfo是false outputResources: - nam2022世界杯阿根廷预选赛赛程e: # required如果autopubblishbuildinfo是true inputSteps: - name: - name: # required #需要执行:onStart: - echo“准备工作…”onSuccess: - echo“工作做得好!”onFailure: - echo“呃哦,出错了”onComplete: #always - echo“清理一些东西”
标签
的名字
一个字母数字字符串(允许使用下划线),用于标识步骤。
类型
必须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
阶段是此步骤类型固有的,不能被覆盖。
例子
下面的例子展示了如何配置一个gopubishbinary步骤。
上传至Artifactory
将GoBuild步骤构建的二进制文件上传到名为go-local的Artifactory存储库。
- 此示例需要一个Artifactory集成和一个GitHub集成.
- 本例中的管道DSL是可以在这个存储库在JFrogGitHub帐户。
- 有关运行此示例的详细信息,请参见管道示例:Go Build.
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。yml文件。有关更多信息,请参阅“管道示例:Go Build”快速入门。模板:true #需要本地模板yml资2022世界杯阿根廷预选赛赛程源:# GitRepo中的示例Go应用程序-名称:go_repo类型:GitRepo配置:路径:{{. values。repoPath}}分支:包括:main gitProvider: {{. values。gitProvider}} #发布的Go应用程序的构建信息- name: go_buildinfo类型:BuildInfo配置:sourceArtifactory: {{. values。- name: go_build_pipeline_example步骤:#从GitRepo构建Go示例应用程序。文档在//www.si-fil.com/confluence/display/JFROG/GoBuild -名称:build_go类型:GoBuild配置:sourceLocation:。resolverRepo: go-virtual noRegistry: true input2022世界杯阿根廷预选赛赛程Resources:—name: go_repo integrations:—name: {{. values。将Go示例应用二进制文件发布到artifactory。Docs在//www.si-fil.com/confluence/display/JFROG/GoPublishBinary - name: publish_go_binary type: gopubishbinary配置:inputSteps: - name: build_go targetRepository: go-local integrations: - name: {{. values。artifactory}}
上传构建信息
将GoBuild步骤构建的二进制文件上传到名为go-repo的Artifactory存储库,并上传构建信息。的示例1进行了扩展GoBuild文档。
管道:—name: goBuildPipeline步骤:—name: goBuildStep类型:GoBuild配置:inputResources:—name: gitRepoResource2022世界杯阿根廷预选赛赛程集成:—name: artifactory_integration—name: goPublishBinaryStep类型:GoPublishBinary配置:targetRepository: go-repo autoPublishBuildInfo: true inputSteps:—name: goBuildStep outputResources:—name: outputBuildInfo
发布构建信息和触发x射线扫描
在这个例子中,构建信息被发布,x射线扫描被触发。
管道:—name: goBuildPipeline步骤:—name: goBuildStep类型:GoBuild配置:inputResources:—name: gitRepoResource2022世界杯阿根廷预选赛赛程集成:—name: artifactory_integration—name: goPublishBinaryStep类型:GoPublishBinary配置:targetRepository: go-repo autoPublishBuildInfo: true forceXrayScan: true inputSteps:—name: goBuildStep outputResources:—name: outputBuildInfo
工作原理
当你使用GoPublishBinary管道中的本机步骤,它在后台执行以下功能:
- jfrog rt配置(如果有BuildInfo输出,使用这些凭证配置jfrog CLI)
- Jfrog rt使用(指定要使用的配置凭据)
- restore_run_files(从GoBuild步骤复制输出和构建信息)
- Jfrog rt upload(上传二进制文件)
- jfrog rt build-publish(如果autopubblishbuildinfo为true,则发布构建信息)
- write_output(如果autopubishbuildinfo为true,更新输出的BuildInfo资源)
- jfrog rt build-scan(如果forceXrayScan为true,则触发扫描)
- Add_run_files(更新在运行状态下保存的构建信息)