当前位置:  开发笔记 > 运维 > 正文

存档Jenkins中的工件

如何解决《存档Jenkins中的工件》经验,为你挑选了3个好方法。

有人可以在构建过程中向我解释构件的概念吗?

我有工作区目录,我查看代码来编译和运行我的ant脚本等.最后,在我的情况下,我得到一个准备安装的jar文件.那被认为是神器吗?

我应该在哪里告诉我的构建脚本放置jar文件?在工作区目录中?我的jar文件根据变量等获取一个唯一的文件名BUILD_ID,如何判断Jenkins选择哪个jar文件?

编辑:好的,所以我尝试做这样的事情:

在此输入图像描述

该路径在我的工作区中尚不存在,因为构建脚本应该创建它,当然,.jar.properties文件不存在,因为它们尚未生成.为什么它会给我一个错误呢?好像我错过了什么.

此外,Jenkins是否在每次构建后删除工件(不是存档的工件,我知道我可以告诉它删除它们)?否则它会很快堵塞硬盘.



1> Anders Linda..:

您的理解是正确的,Jenkins意义上的工件是构建的结果 - 构建过程的预期输出.

常见的做法是把构建的结果为build,targetbin目录.

target/*.jar即使每个构建都有唯一的名称,Jenkins归档程序也可以使用globs()轻松获取正确的文件.


@michael:你必须自己清理工作区,最好在每次构建之前至少清除目标目录,以确保你不会得到早期构建的结果.

2> 小智..:

工件可以是构建过程的任何结果.重要的是它在构建它的客户端上无关紧要,它将从工作区转移回主服务器(服务器)并在那里存储一个指向构建的链接.优点是它以这种方式进行版本化,您只需在主服务器上设置备份,即使所有构建客户端都处于脱机状态,也可以通过Web界面访问所有工件.

可以将正则表达式定义为工件名称.在我的情况下,我在构建过程中将我想要存储的所有文件压缩为一个具有常量名称的文件.


“可以将正则表达式定义为工件名称。就我而言,我压缩了所有文件”您能解释一下吗?听起来正是我想要的?

3> Codex24..:

另外,Jenkins会在每次构建后删除工件吗?(不是存档的工件,我知道我可以告诉它删除那些)

不,Hudson/Jenkins本身并没有在构建之后清除工作区.您可能在构建过程中执行了从您离开它们的位置擦除,覆盖或移动构建工件的操作.在高级项目选项(必须扩展)中的作业配置中有一个选项,称为"构建前清理工作区",它将在新构建开始时擦除工作区.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有