云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

GoPublishBinary本地步骤发布构建在GoBuild来到Artifactory。建议(但不是必须)将GoBuild和gopubishbinary步骤放在同一个亲和组中,以优化这两个步骤之间的文件共享。


页面内容


YAML模式

gopubishbinary原生步骤的YAML模式如下:

GoPublishBinary
管道:- 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集成.时需要autoPublishBuildInfo设置为false。方法中指定的构件集成BuildInfo资源将被使用。

可能需要
output2022世界杯阿根廷预选赛赛程Resources

必须指定BuildInfo资源autoPublishBuildInfo设置为true。

如果JFROG_CLI_BUILD_NAMEJFROG_CLI_BUILD_NUMBER设置为管道或输入的环境变量GoBuild步骤中,该名称和/或数字用于输出BuildInfo。否则,默认buildName而且buildNumberpipeline_name美元而且run_number美元分别。

可能需要
inputSteps 必须指定GoBuildBash,或PowerShell的一步。 要求


此外,可以定义这些标记来支持该步骤的本机操作:

从Bash派生的标记

所有本机步骤都派生自Bash的一步。这意味着所有步骤共享来自Bash的相同基本标记集,而本机步骤也有自己的附加标记,这些标记支持该步骤的特定功能。所以熟悉这个很重要Bash步骤定义,因为它是所有其他步骤定义的核心。

标签

使用说明

必需的/可选
forceXrayScan

当为true时,强制扫描所推送的图像JFrog x光

默认为false。

可选
failOnScan

当设置为t,w当x光片策略规则失败的构建复选框,则x射线扫描失败将导致该步骤失败。

默认是真正的

可选
autoPublishBuildInfo

当设置为真正的,使用Docker映像发布构建信息。

默认是

可选
targetRepository 模块将在Artifactory中的存储库中发布。 要求
failOnValidate

如果无法验证构建构件的签名,则该步骤失败。

默认是

可选(必须启用签名管道)


执行

声明在执行前和执行后阶段执行的shell命令序列集合:
标签 使用说明 必需的/可选
onStart 在本机操作之前执行的命令 可选
调用onSuccess 成功完成后执行的命令 可选
onFailure 在完成失败时执行的命令 可选
onComplete 在任何补全时执行的命令 可选


对象执行的操作onExecute阶段是此步骤类型固有的,不能被覆盖。


例子

下面的例子展示了如何配置一个gopubishbinary步骤。

上传至Artifactory

将GoBuild步骤构建的二进制文件上传到名为go-local的Artifactory存储库。

#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。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文档。

GoPublishBinary
管道:—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射线扫描被触发。

GoPublishBinary
管道:—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(更新在运行状态下保存的构建信息)

相关的话题

开始构建快速入门

  • 没有标签
版权所有©2022 JFrog Ltd.