当前位置: 首页 > 面试题库 >

别名詹金斯工件URL

施令雪
2023-03-14
问题内容

Jenkins工件URL允许抽象化“上一次成功构建”,从而代替

http://myjenkins.local/job/MyJob/38/artifact/build/MyJob-v1.0.1.zip

我们可以说

http://myjenkins.local/job/MyJob/lastSuccessfulBuild/artifact/build/MyJob-v1.0.1.zip

是否可以进一步抽象呢?我的工件的文件名中包含其版本号,该版本号可能会因版本而异。理想情况下,我想使用某种“别名” URL,如下所示:

http://myjenkins.local/job/MyJob/lastSuccessfulBuild/artifact/build/MyJob-latest.zip

MyJob-latest.zip然后将解决MyJob-v1.0.1.zip

如果詹金斯(Jenkins)本身无法做到这一点,那么也许有一个插件?


问题答案:

从未见过任何此类插件,但是Jenkins已经内置了类似的功能。

您可以/*zip*/filename.zip在工件路径中使用filename任何选择的位置。它将获取所有找到的工件,并将它们下载到一个zip文件中(如果您的工件已经是一个zip文件,则最终可能会在zip文件中包含一个zip文件)

在您的情况下,将是:
http://myjenkins.local/job/MyJob/lastSuccessfulBuild/artifact/build/*zip*/MyJob- latest.zip
这将使您获得/artifact/build/名称为的压缩存档中返回的内容MyJob- latest.zip。请注意,如果该目录中不仅有该zip文件,还将返回其他文件。

您可以在路径中使用通配符。一个*用于常规通配符,一个**用于跳过任意数量的先前目录。

例如,要获取以开头MyJob,以结束的任何文件.zip,并在任何工件目录中查找它,可以使用:

/lastSuccessfulBuild/artifact/**/MyJob*.zip/*zip*/MyJob-latest.zip

编辑:

没有 某种 形式的容器(在这种情况下为zip),您将无法执行此类操作。使用该容器,您正在告诉系统:

  • 获取任何可能的[不确定的计数]通配符匹配并将其放入此容器,然后将其交给我。这是合乎逻辑的,也是可能的,因为只有一个容器(无论是否为空)。

但是您不能告诉系统:

  • 给我一个指向 特定文件 的链接,但我不知道是哪个 文件 或多少 个文件 。系统无法保证您的通配符将匹配一个,多个或不匹配。从逻辑角度来看,这根本是不可能的。

如果您需要它来实现某些html" target="_blank">脚本自动化,则可以解压缩第一层zip,并保留所需的压缩工件。

如果需要将此链接提供给其他人,则需要替代解决方案

备选方案1:
构建完成后,执行构建后步骤,该步骤将使用您的工件,并将其重命名为MyJob- latest.zip,但是您将丢失文件名中的版本控制。您还可以选择复制而不是重命名,但是最终会导致存储这些工件的空间增加一倍。

备选方案2(推荐):
作为构建后的操作,请将工件上载到中央存储库。它可以是Artifactory,甚至是普通的SVN。上载时,它将被重命名MyJob- latest.zip,而上一个将被覆盖。这样,您就有了一个静态链接,该链接将始终具有来自lastSuccessfulBuild



 类似资料:
  • 问题内容: 如何在詹金斯重命名工作?除了创建新工作并销毁旧工作之外,还有其他方法吗? 问题答案: 在我们正在运行(1.480)的版本,它只是改变的事情在菜单和击球后保存。 干杯,

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 我有一个.Jar文件,它将在运行时将数据加载到数据库中。我已经计划通过詹金斯来担任这项工作。当我在詹金斯执行作业时,它将成功运行.JAR。但是,请说作业中是否存在空指针异常,并且该异常未成功完成。即便如此,詹金斯仍然说工作已经“通过”。如果作业执行过程中出现问题,如何使作业失败? 问题答案: @Corey的解决方案很好。而且,如果您不想编写JUnit测试并在Jenkins中提供支持,则

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 问题内容: 我试图重命名哈德森/詹金斯的工作。但是,它无法重命名。 有什么办法可以重命名工作吗? 问题答案: 您可以按照以下步骤通过jenkins UI重命名选定的作业: 另一种方式是在对重命名的目录服务器,然后的。