当前位置: 首页 > 知识库问答 >
问题:

如何自定义Jenkins归档工件插件后构建动作的文件名?

欧阳洲
2023-03-14

Jenkins存档工件插件将文件压缩到“archive.zip”文件中。它始终具有相同的文件名。更重要的是,Jenkins实际上并不存档(“builds”目录中没有任何“archive.zip”文件)。Jenkins just映射url

问题是,该作业本身生成ZIP归档,所以我需要以原始名称发布这个归档。这很重要,因为归档的名称明确了作业的所有者、内部的数据以及用于运行作业的参数。假设用户使用不同的参数运行作业10次,并且不等待每个作业完成后才运行下一个。稍后,用户将开始下载结果并获得

archive.zip
archive(1).zip
archive(2).zip
...
archive(10).zip

现在他需要从那些下载的档案中提取档案,以获得另外10个有合格名称的档案。然后删除那些下载的归档。之后,通过符合条件的存档名来确定他实际需要的存档名,然后删除其余的存档名。容易在这里出错,删除或错过归档文件。

我的解决方案是:

>

  • 由作业存档以其原始名称生成的发布。

    生成我的文件和表单下的档案文件名与它应该服务,跳过工作里面的拉链。最后一步,将这个文件名作为参数传递到archive artifact plugin post build操作中,这样Jenkins就可以用job自己配置的特殊名称来服务archive。

  • 共有1个答案

    刘松
    2023-03-14

    zip文件的名称是从包含工件的目录中确定的(请参见Jenkins源代码)。

    >

  • 在内部,最上面的工件目录名为archive,这就是为什么您总是看到archive.zip

    相反,这意味着您可以通过将工件放在一个(子)目录xyz中来获得一个定制的zip文件xyz.zip

    没有其他更改名称的选项。

  •  类似资料:
    • 下面的这些代码可以帮助您通过CSS文件和SCSS文件,创建和编译 CSS 和 JS 文件的source-maps。 安装依赖 为了运行编译和压缩任务,你必须安装 node 和 npm。 命令行 // (Optional) Install Gulp module globally npm install gulp -g // Install fullpage's build dependen

    • 在构建过程中,我如何上传文件到Jenkins Artifactory Plugin的艺术作品?上传后,该作业将触发另一个作业,该作业将从Artifactory下载工件。对我来说,在Jenkins作业中归档工件不是一个选项,因为我们应该在Artifactory中保留工件。 我可以使用curl上传到Artifactory,但我需要丢弃旧版本(由Jenkins Artifactory插件提供)。我可以在

    • 一个项目可以有很多 JAR 文件,你可以向项目中添加 WAR , ZIP 和 TAR 文档,使用归档任务可以创建这些文档: Zip , Tar , Jar , War 和Ear. 它门都以同样的机制工作. 例 15.19 创建一个 ZIP 文档 build.gradle apply plugin: 'java' task zip(type: Zip) { from 'src/dist'

    • 问题内容: 我正在为公司中的一些自定义报告创建一个构建后插件。我从此处提供的詹金斯“ hello world”示例开始: https://wiki.jenkins- ci.org/display/JENKINS/Plugin+tutorial 这很棒。我能够加载该插件并在我的Jenkins实例中使用它而没有任何问题。 为了使项目顺利进行,我能够将HelloWorldBuilder移至另一个文件夹,

    • 在Jenkins管道中,当在特定节点上运行构建时,会在该代理上分配工作区。我们没有设置工作区路径,所以它是自动确定的。我知道工作区必须包含执行程序编号,以便在同一代理上同时运行相同作业时隔离构建。 但是工作区路径是如何构造的? 我们的构建被分配给一个特定的节点(有4个执行器),并且被配置为不允许并发构建。通常分配给: 在某个时刻,构建开始在executor 2上运行,但仍然使用与以前相同的工作区。

    • 有没有一种方法可以使用Groovy后期构建插件读取构建工件文件? 一些上下文:我已经编写了一些由Jenkins的maven运行的testng测试。Jenkins运行测试,给我测试结果等。但是,我被要求将结果存储在HP的应用程序生命周期管理(ALM)中。一位同事为我提供了一个构建后的groovy脚本,它可以与ALM接口并存储测试结果。我必须将这些参数传递给该脚本: 作业名称 通过/失败状态 测试开始