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





概述

GoBuild本机步骤从Go (GoLang)源执行构建。


页面内容


YAML模式

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

GoBuild
管道:- name: 步骤:- name: 类型:GoBuild配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash sourceLocation:  # optional outputLocation:  # optional outputFile:  # optional resolverRepo:  # optional repository:  # optional goCommand:  # optional integrations: - name:  #可能需要inputResources: - 2022世界杯阿根廷预选赛赛程name:  # required - name:  # optional execution: onStart: - echo "Preparing for work…" onSuccess:onFailure: - echo "uh oh, something went wrong" onComplete: #always - echo "清理一些东西"

标签

的名字

一个字母数字字符串(允许使用下划线),用于标识步骤。

类型

必须GoBuild对于这个步骤类型。

配置

指定步骤执行环境的所有配置选择。该步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:

标签

使用说明

必需的/可选
集成 指定一个Artifactory集成模块将在哪里发布。如果一个文件规范资源在input2022世界杯阿根廷预选赛赛程Resources这是可选的。否则,它是必需的。 可能需要
input2022世界杯阿根廷预选赛赛程Resources

必须指定GitRepo包含Go源文件的资源sourceLocation

也可以指定一个可选的文件规范资源它指定要复制到哪些文件sourceLocation构建。

要求

可选


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

从Bash派生的标记

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

标签

使用说明

必需的/可选
sourceLocation Go源文件可用的位置,相对于GitRepo存储库的根目录。如果没有指定,默认是GitRepo存储库的根。 可选
outputLocation 应该发布构建的Go模块的位置。 可选
outputFile 包含Go命令输出的文件。默认的文件名是步骤的名称。 可选
resolverRepo 用于解析依赖项的Artifactory存储库的名称。 可选
存储库 替代resolverRepo.只能指定其中一个选项。 可选
goCommand

指定Go客户端要使用的选项的命令行字符串。

默认的build -o $outputLocation/$outputFile

可选

执行

声明在执行前和执行后阶段执行的shell命令序列集合:

标签 使用说明 必需的/可选
onStart 在本机操作之前执行的命令 可选
调用onSuccess 成功完成后执行的命令 可选
onFailure 在完成失败时执行的命令 可选
onComplete 在任何补全时执行的命令 可选


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


例子

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

全管道示例

#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。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。发布Go示例应用程序构建信息。Docs在//www.si-fil.com/confluence/display/JFROG/PublishBuildInfo - name: publish_build type: PublishBuildInfo配置:inputSteps: - name: publish_go_binary outputResources: - nam2022世界杯阿根廷预选赛赛程e: go_buildinfo

默认的位置

使用默认位置的GoBuild步骤。

GoBuild
管道:—name: goBuildPipeline步骤:—name: goBuildStep类型:GoBuild配置:inputResources:—name: gitRepoResource2022世界杯阿根廷预选赛赛程集成:—name: artifactory_integration

文件规范输入

一个带有FileSpec输入的GoBuild步骤,提供不在GitRepo和resolverRepo中的构建文件,并指定在解析依赖项时使用的Artifactory存储库。

GoBuild
管线:—name: goBuildPipeline步骤:—name: goBuildStep type: GoBuild configuration: resolverRepo: repo inputResources:—name2022世界杯阿根廷预选赛赛程: gitRepoResource—name: fileSpec . exe

Git Repo中的备用源位置

一个GoBuild步骤,在GitRepo中有一个可选的源位置和一个可选的Go命令用于构建。

GoBuild
pipeline:—name: goBuildPipeline steps:—name: goBuildStep type: GoBuild configuration: sourceLocation: "app/go" goCommand: "build -insecure -o output/outputFile" inputResou2022世界杯阿根廷预选赛赛程rces:—name: gitRepoResource integrations:—name: artifactory_integration . txt

工作原理

当你使用GoBuild管道中的本机步骤,它在后台执行以下功能:

  • jfrog rt配置(如果没有输入集成,则使用输入文件pec中的Artifactory凭据配置jfrog CLI)
  • jfrog rt use(设置当前Artifactory的默认配置
  • cp(如果有一个输入FileSpec,将这些文件复制到克隆的GitRepo的根目录)
  • Jfrog rt go-config(配置存储库以解析依赖项)
  • Jfrog rt go(建造)
  • Add_run_variables(为以后的步骤保存关于此步骤的信息)
  • Add_run_files(将输出和构建信息保存在运行状态,以便以后发布步骤)
  • 收集环境变量

相关的话题

开始构建快速入门

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