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







概述

UploadArtifact原生步骤上传工件到Artifactory。它还可以将构建信息发布到Artifactory并触发x射线扫描。


这一步利用JFrog CLI将工件上传到Artifactory。文件可以在FileSpec中提供,如果已经在Artifactory中,也可以在RemoteFile或GitRepo输入中提供。

从Bash派生的标签

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

页面内容


YAML模式

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

UploadArtifact
管道:- name: 步骤:- name: 类型:UploadArtifact配置:targetPath:  #required sourcePath:  #可选属性: #可选regExp:  #可选flat:  #可选模块: #可选deb:  #可选dryRun:  #可选symlinks:  #可选爆炸: #可选排除: #可选includeDirs:  #可选syncDeletes: #optional forceXrayScan:  #optional failOnScan:  # default true autoPublishBuildInfo:  #optional input2022世界杯阿根廷预选赛赛程Resources: - name: myGitRepo - name: artifactoryFileSpec - name: myRemoteFile outputResources: - name: myFileSpec - name: myBuildInfo集成:- name: myArtifactory执行:onStart: - echo“准备工作…”onSuccess: - echo“工作做得好!”onFailure: - echo“哦,出了问题”onComplete: #always - echo“清理一些东西”

标签

名字

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

类型

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

配置

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

标签

使用说明

必需的/可选

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

可以指定一个GitRepo文件规范,或RemoteFile包含要上传的文件的资源。每种类型可以指定一个。

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

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

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

也可以指定文件规范资源,用上传工件的模式和属性进行更新

可能需要

从Bash派生的标签

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

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

标签

使用说明

必需的/可选
定位路径 上传文件的路径,包括存储库名称。 要求
路径中

要上传的文件。如果这是一个相对路径模式,它是相对于GitRepo/FileSpec/RemoteFile输入的根目录的。

默认是正则表达式。*正则表达式真正的

可选
属性

用于上传工件的分号分隔属性。例如:myFirstProperty = 1; mySecondProperty = 2

属性pipelines_step_namepipelines_run_numberpipelines_step_idpipelines_pipeline_namepipelines_step_urlpipelines_step_type,pipelines_step_platform也将被添加。

可选
正则表达式

设置为真正的,正则表达式用于其他参数,如路径中,而不是通配符。表达式必须在括号中。

默认是

可选

设置为真正的,上传的文件被平面化,删除了目录结构。

默认是

可选
模块

构建信息的模块名称。

可选
黛比 一个分配/组件/架构下载Debian软件包。如果分布、组件或体系结构包含/,则必须进行双转义,例如:分配/我\ \ \ /组件/架构对于一个我的/组件组件。 可选
递归

设置为,不上传子目录下的匹配项。

默认是真正的

可选
dryRun 设置为真正的,没有上传任何内容。

默认是

可选
符号链接 设置为真正的,则上传符合其他条件的符号链接。

默认是

可选
爆炸 设置为真正的并且上传的工件是存档,则存档被扩展。

默认是

可选
除外责任 以分号分隔要排除的模式。 可选
includeDirs 设置为真正的,则上传符合条件的空目录。

默认是

可选
syncDeletes 用于删除Artifactory中任何现有文件的路径。 可选
forceXrayScan

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

默认是

可选
failOnScan

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

默认是真正的

可选
autoPublishBuildInfo

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

默认是

可选


执行

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

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

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

保留关键字

onExecuteonStart调用onSuccessonFailure,onComplete是保留关键字。在执行脚本的任何其他上下文中使用这些关键字都可能导致意外行为。


例子

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

使用FileSpec资源将工件上载到另一个存储库

UploadArtifact的最基本形式。使用所有默认值。此步骤将下载与FileSpec匹配的文件,并将其上传到目录中的位置定位路径。可选输出文件规范资源将使用定位路径以及添加到上传工件的默认属性。

UploadArtifact
管道:—名称:uploadArtifactPipeline步骤:—名称:uploadArtifactStep类型:UploadArtifact配置:targetPath: my-repository/myDirectory/myFile.txt集成:—名称:myArtifactoryIntegration inputResources:—名称:myInputFileSpec outputResources:—名称:myOu2022世界杯阿根廷预选赛赛程tputFileSpec

从RemoteFile资源上传工件

在本例中,输入是aRemoteFile资源。否则,这与前面的示例非常相似,其中输入下载文件,然后上传文件,并为上传的文件更新可选的FileSpec输出。

UploadArtifact
管道:—名称:uploadArtifactPipeline步骤:—名称:uploadArtifactStep类型:UploadArtifact配置:targetPath: my-repository/myDirectory/myFile.txt集成:—名称:myArtifactoryIntegration inputResources:—名称:myInputRemoteFile outputResources:—名称:my2022世界杯阿根廷预选赛赛程OutputFileSpec

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

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

UploadArtifact
管道:-名称:uploadArtifactPipeline步骤:-名称:uploadArtifactStep类型:UploadArtifact配置:targetPath: my-repository/myDirectory/myFile.txt autoPublishBuildInfo: true forceXrayScan: true集成:-名称:myArtifactoryIntegration inputResources: -名称:myFileSpec outputResources: -名称:myBuild2022世界杯阿根廷预选赛赛程Info

它是如何工作的

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

  • jfrog rt config(使用yaml中列出的集成配置jfrog CLI)
  • jfrog rt使用(配置jfrog CLI以使用yaml中列出的集成配置)
  • Mkdir(创建一个目录,在以下操作中用作相对路径的根目录)
  • cp(将FileSpec、RemoteFile或GitRepo文件复制到新目录,限制每种输入类型中的一种)
  • jfrog rt upload(上传工件
  • write_output(用上传的模式和属性更新FileSpec输出资源)
  • 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(将构建信息添加到运行状态)
  • 没有标签
版权所有©2023 JFrog Ltd.