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