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源文件的资源 也可以指定一个可选的文件规范资源指定要复制到的文件 |
要求 可选 |
此外,可以定义这些标签来支持步骤的本机操作:
从Bash派生的标签
标签 |
使用说明 |
必需的/可选 |
---|---|---|
sourceLocation |
Go源文件可用的位置,相对于GitRepo存储库的根目录。如果没有指定,默认是GitRepo存储库的根目录。 | 可选 |
outputLocation |
应该发布构建的Go模块的位置。 | 可选 |
outputFile |
包含Go命令输出的文件。默认文件名是步骤的名称。 | 可选 |
resolverRepo |
要用于解析依赖关系的Artifactory存储库的名称。 | 可选 |
存储库 |
替代resolverRepo .只能指定其中一个选项。 |
可选 |
goCommand |
指定与Go客户端一起使用的选项的命令行字符串。 默认的: |
可选 |
执行
声明要在执行前和执行后阶段执行的shell命令序列的集合:
标签 | 使用说明 | 必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成时执行的命令 | 可选 |
onFailure |
完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
执行的操作onExecute
阶段是此步骤类型所固有的,并且不能被覆盖。
例子
下面的例子展示了如何配置一个GoBuild步骤。
全管道示例
- 这个例子需要Artifactory集成和一个GitHub集成.
- 这个示例的管道DSL是可以在这个存储库在JFrogGitHub帐户。
- 有关完整教程,请参见管道示例:Go Build.
这个配置文件是模板化的,所以它可以很容易地定制。值可以与值一起提供。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(收集环境变量)