YAML模式
UploadArtifact原生步骤的YAML模式如下:
管道:- 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资源如果 如果 也可以指定文件规范资源,用上传工件的模式和属性进行更新。 |
可能需要 |
从Bash派生的标签
此外,可以定义这些标签来支持步骤的本机操作:
标签 |
使用说明 |
必需的/可选 |
---|---|---|
定位路径 | 上传文件的路径,包括存储库名称。 | 要求 |
路径中 |
要上传的文件。如果这是一个相对路径模式,它是相对于GitRepo/FileSpec/RemoteFile输入的根目录的。 默认是 |
可选 |
属性 |
用于上传工件的分号分隔属性。例如: 属性 |
可选 |
正则表达式 |
设置为 默认是 |
可选 |
平 |
设置为 默认是 |
可选 |
模块 |
构建信息的模块名称。 |
可选 |
黛比 |
一个分配/组件/架构 下载Debian软件包。如果分布、组件或体系结构包含/,则必须进行双转义,例如:分配/我\ \ \ /组件/架构 对于一个我的/组件 组件。 |
可选 |
递归 |
设置为 默认是真正的。 |
可选 |
dryRun |
设置为真正的 ,没有上传任何内容。默认是 |
可选 |
符号链接 |
设置为真正的 ,则上传符合其他条件的符号链接。默认是 |
可选 |
爆炸 |
设置为真正的 并且上传的工件是存档,则存档被扩展。默认是 |
可选 |
除外责任 |
以分号分隔要排除的模式。 | 可选 |
includeDirs |
设置为真正的 ,则上传符合条件的空目录。默认是 |
可选 |
syncDeletes |
用于删除Artifactory中任何现有文件的路径。 | 可选 |
forceXrayScan |
设置为 默认是 |
可选 |
failOnScan |
设置为 默认是 |
可选 |
autoPublishBuildInfo |
设置为 默认是 |
可选 |
执行
声明要在执行前和执行后阶段执行的shell命令序列的集合:
标签 | 使用说明 | 必需的/可选 |
---|---|---|
onStart |
在本机操作之前执行的命令 | 可选 |
调用onSuccess |
成功完成时执行的命令 | 可选 |
onFailure |
完成失败时执行的命令 | 可选 |
onComplete |
在任何补全时执行的命令 | 可选 |
执行的操作onExecute
阶段是此步骤类型所固有的,并且不能被覆盖。
保留关键字
onExecute
,onStart
,调用onSuccess
,onFailure
,onComplete
是保留关键字。在执行脚本的任何其他上下文中使用这些关键字都可能导致意外行为。
例子
下面的示例展示了配置UploadArtifact步骤的几种方法。
使用FileSpec资源将工件上载到另一个存储库
UploadArtifact的最基本形式。使用所有默认值。此步骤将下载与FileSpec匹配的文件,并将其上传到目录中的位置定位路径
。可选输出文件规范资源将使用定位路径
以及添加到上传工件的默认属性。
管道:—名称:uploadArtifactPipeline步骤:—名称:uploadArtifactStep类型:UploadArtifact配置:targetPath: my-repository/myDirectory/myFile.txt集成:—名称:myArtifactoryIntegration inputResources:—名称:myInputFileSpec outputResources:—名称:myOu2022世界杯阿根廷预选赛赛程tputFileSpec
从RemoteFile资源上传工件
在本例中,输入是aRemoteFile资源。否则,这与前面的示例非常相似,其中输入下载文件,然后上传文件,并为上传的文件更新可选的FileSpec输出。
管道:—名称:uploadArtifactPipeline步骤:—名称:uploadArtifactStep类型:UploadArtifact配置:targetPath: my-repository/myDirectory/myFile.txt集成:—名称:myArtifactoryIntegration inputResources:—名称:myInputRemoteFile outputResources:—名称:my2022世界杯阿根廷预选赛赛程OutputFileSpec
发布构建信息并触发x射线扫描
在本例中,构建信息作为UploadArtifact步骤的一部分发布,并触发x射线扫描。
管道:-名称: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(将构建信息添加到运行状态)