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





概述

GradleBuild原生步骤对Git存储库中的文件执行Gradle构建。它还可以将构建信息发布到Artifactory。


这一步使用JFrog CLI为您的项目运行Gradle构建。CLI配置文件可以在执行期间创建,也可以使用所需的设置提前生成,并将其提交到存储库。有关gradle-config的信息,请参见CLI为JFrog Artifactory#设置gradleerepository

页面内容


YAML模式

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

GradleBuild
- name: 步骤:- name:  type: GradleBuild配置:#继承bash的所有标签;//www.si-fil.com/confluence/display/JFROG/Bash gradleCommand:  #required sourceLocation:  #optional configFileLocation:  #optional configFileName:  #optional resolverRepo:  #optional deployerRepo:  #optional usesPlugin:  #optional useWrapper:  #optional forceXrayScan:  #optional failOnScan:  #optional;default_true autoPublishBuildInfo:  #optional input2022世界杯阿根廷预选赛赛程Resources: - name: myGitRepo - name: artifactoryFileSpec outputResources: - name: myBuildInfo integrations: - name: myArtifactory执行:onStart: - echo "准备工作…" onSuccess: - echo "Job well done!" onFailure: - echo "嗯哦,出了问题" onComplete: #always - echo " cleanup up some stuff"

标签

名字

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

类型

必须GradleBuild对于这一步,输入:

配置

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

标签

使用说明

必需的/可选

集成 必须指定Artifactory集成 要求
input2022世界杯阿根廷预选赛赛程Resources

必须指定一个GitRepo资源Gradle命令将在Git存储库中的文件上执行构建sourceLocation

还可以选择指定文件规范资源指定要复制到的文件sourceLocation构建。

要求
output2022世界杯阿根廷预选赛赛程Resources

必须指定BuildInfo资源如果autoPublishBuildInfo设为真正的

如果JFROG_CLI_BUILD_NAMEJFROG_CLI_BUILD_NUMBER被设置为管道或步骤的环境变量,该名称和/或数字将用于输出BuildInfo。否则,默认的buildNamebuildNumberpipeline_name美元run_number美元。

可能需要


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

从Bash派生的标签

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

标签

使用说明

必需的/可选
gradleCommand 指定与Gradle构建工具一起使用的选项命令行字符串。 要求
sourceLocation 要构建的源文件相对于GitRepo存储库根目录的位置。如果没有指定路径,将使用存储库的根目录。 可选
resolverRepo 用于解析依赖项的人工存储库。不能与…连用configFileNameconfigFileLocation 可选
deployerRepo 要部署到的人工存储库。不能与…连用configFileNameconfigFileLocation 可选
usesPlugin

设置为真正的如果Gradle Artifactory Plugin已经在构建脚本中应用了。默认是

不要与…一起使用configFileNameconfigFileLocation(您可以在现有的配置文件中直接启用此选项)。

可选
useWrapper

如果设置为真正的,使用Gradle包装器。默认是

不要与…一起使用configFileNameconfigFileLocation(您可以在现有的配置文件中直接启用此选项)。

可选
forceXrayScan

当设置为真正的,在发布到Artifactory后强制进行x射线扫描。

默认是

可选
failOnScan

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

默认是真正的

可选
autoPublishBuildInfo

当设置为真正的,将构建信息发布到Artifactory。

默认是

可选
configFileName

Gradle配置文件。如果指定,则configFileLocation还需要标签。该文件是在运行时使用JFrog CLI生成的执行命令gradle-config命令。

serverID配置文件中的名称应该与Artifactory集成名称匹配。

只有在将此配置文件提交到源文件时才使用此选项。

可选
configFileLocation Gradle配置文件的位置。一个configFileName还需要标签。通常存储在.jfrog存储库中的目录。 可选


执行

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

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


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


例子

下面的例子展示了几种配置GradleBuild步骤的方法。

使用默认值

GradleBuild最基本的形式。使用所有默认值。这一步将导航到inputResources数组中指定的repo的根目录,并运行指定的Gradle命令。2022世界杯阿根廷预选赛赛程

GradleBuild
管道:—名称:gradleBuildPipeline步骤:—名称:gradleBuildStep类型:GradleBuild配置:gradleCommand: "build" inputResources:—名称:gitRepoResource集成:—名称:ar2022世界杯阿根廷预选赛赛程tifactory_integration

Source Location是Git Repo的子目录

一个更复杂的GradleBuild步骤,在这个步骤中,源代码位置是GitRepo的子目录(gradle-example-minimal),项目使用Gradle Artifactory Plugin。解析器和部署器存储库也已经配置好了,从jcenter解析并部署到gradle-local。

GradleBuild
-名称:gradleBuildPipeline步骤:-名称:gradleBuildStep类型:GradleBuild配置:gradleCommand: "artifactoryPublish clean -b build. exe "gradle" sourceLocation: gradle-example-minimal deployerRepo: gradle-local resolverRepo: jcenter usesPlugin: true input2022世界杯阿根廷预选赛赛程Resources: - name: gitRepoResource集成:- name: artifactory_integration

使用配置文件

这个GradleBuild步骤类似于前面的例子,但是有一个作为gradle-example-minimal/gradle-art-config提交到存储库的配置文件。配置文件包含存储库和插件设置。

GradleBuild
-名称:gradleBuildPipeline步骤:-名称:gradleBuildStep类型:GradleBuild配置:gradleCommand: "artifactoryPublish clean -b build. exe "gradle" sourceLocation: gradle-example-minimal configFileLocation:。configFileName: gradle-art-config input2022世界杯阿根廷预选赛赛程Resources:—name: gitRepoResource integration:—name: artifactory_integration

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

在本例中,构建信息作为GradleBuild步骤的一部分发布,并触发x射线扫描。

GradleBuild
- name: gradleBuildPipeline步骤:- name: gradleBuildStep类型:GradleBuild配置:gradleccommand: "build" autoPublishBuildInfo: true forceXrayScan: true inputResources: - name: gitRepoResour2022世界杯阿根廷预选赛赛程ce集成:- name: artifactory_integration outputResources: - name: myBuildInfo

它是如何工作的

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

  • jfrog rt config(使用yaml中列出的集成配置jfrog CLI)
  • jfrog rt gradle-config(如果在yaml中没有设置configFileName和configFileLocation
  • jfrog rt gradle $gradleCommand (gradle的主要构建命令)
  • Add_run_variables(保存运行状态的信息,以供以后的步骤引用)
  • Jfrog rt build-collect-env(收集构建环境,为构建发布做准备)
  • jfrog rt build-publish(仅当autoppublishbuildinfo为true时发布构建)
  • write_output(用发布的名称/编号更新BuildInfo输出资源)
  • jfrog rt build-scan(如果forceXrayScan为true)
  • Add_run_files(将构建信息添加到运行状态)
  • 没有标签
版权所有©2022 JFrog Ltd.