云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

GoPublishBinary原生步骤发布构建在GoBuild走进人工工厂。建议(但不是必需的)将GoBuild和GoPublishBinary步骤放在同一个亲和组中,以优化这两个步骤之间的文件共享。


页面内容


YAML模式

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

GoPublishBinary
- 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集成。时需要autoPublishBuildInfo设置为false。中指定的人工集成BuildInfo资源将被使用。

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

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

如果JFROG_CLI_BUILD_NAMEJFROG_CLI_BUILD_NUMBER设置为管道或输入的环境变量GoBuild步骤,该名称和/或数字用于输出BuildInfo。否则,默认的buildNamebuildNumberpipeline_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阶段是此步骤类型所固有的,并且不能被覆盖。


例子

下面的示例展示了如何配置GoPublishBinary步骤。

上传至Artifactory

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

这个配置文件是模板化的,所以它可以很容易地定制。值可以与值一起提供。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文档。

GoPublishBinary
管道:-名称:goBuildPipeline步骤:-名称:goBuildStep类型:GoBuild配置:inputResources: -名称:gitRepoResource集成:-名称:a2022世界杯阿根廷预选赛赛程rtifactory_integration -名称:goPublishBinaryStep类型:GoPublishBinary配置:targetRepository: go-repo autoPublishBuildInfo: true inputSteps: -名称:goBuildStep outputResources: -名称:outputBuildInfo

发布构建信息并触发x射线扫描

在本例中,发布构建信息并触发x射线扫描。

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

相关的话题

Go Build快速入门

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