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





概述

GoBuild原生步骤从Go (GoLang)源代码执行构建。


页面内容


YAML模式

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

GoBuild
- name: 步骤:- name: 类型:GoBuild配置:#继承bash的所有标签;//m.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:“哦,出错了”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”快速入门。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。#发布Go示例应用的构建信息。文档在//m.si-fil.com/confluence/display/JFROG/PublishBuildInfo -名称:publish_build类型:PublishBuildInfo配置:inputSteps: -名称:publish_go_binary outputResources: -名称:go_buildinfo2022世界杯阿根廷预选赛赛程

默认的位置

使用默认位置的GoBuild步骤。

GoBuild
—名称:goBuildPipeline步骤:—名称:goBuildStep类型:GoBuild配置:inputResources:—名称:gitRepoResource集成:—名称:artif2022世界杯阿根廷预选赛赛程actory_integration

文件规范输入

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

GoBuild
管道:—名称:goBuildPipeline步骤:—名称:goBuildStep类型:GoBuild配置:resolverRepo: repo inputResources:—名称:gitRepoResource—名称:fileS2022世界杯阿根廷预选赛赛程pec

Git Repo中的替代源位置

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

GoBuild
管道:-名称:goBuildPipeline步骤:-名称:goBuildStep类型:GoBuild配置:sourceLocation: "app/go" goCommand: "build -insecure -o output/outputFile" inputResources: -名称:gitRepoResource集成:-名称:a2022世界杯阿根廷预选赛赛程rtifactory_integration

它是如何工作的

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

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

相关的话题

Go Build快速入门

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