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

我如何安排詹金斯的工作?

胡星汉
2023-03-14

我在詹金斯增加了一份新工作,我想定期安排。

在配置作业中,我选中了“定期构建”复选框,并在计划文本字段中添加了以下表达式

15 13***

但它不会在预定时间运行。

安排工作是正确的程序吗?

作业应在凌晨4:20运行,但未运行。

共有3个答案

史弘致
2023-03-14

Jenkins允许您设置多次,以换行符分隔。

如果你需要它在每天早上7点建造,以及每周日下午4点,下面的效果很好。

H 7 * * *

H 16 * * 0
壤驷瑾瑜
2023-03-14

格式如下:

分钟(0-59),小时(0-23),日(1-31),月(1-12),星期(0-6)

可以插入代表单词哈希的字母H,而不是任何值。它将根据项目名称的哈希代码计算参数。

这是因为,如果您同时在构建机器上构建多个项目,比如说每天午夜,它们不会同时开始构建执行。根据散列码的不同,每个项目在不同的时间开始执行。

您还可以指定数字之间的值,即。H(0,30)将返回项目的哈希代码,其中可能的哈希值为0-30。

示例:

>

  • 每天早上08:30开始构建,周一-周五:30 08 * * 1-5

    工作日每天构建两次,午餐时间12:00和午夜00:00,周日至周四:00 0,12**0-4

    每天下午4:00-4:59或16:00-16:59之间开始构建,具体取决于项目哈希:H 16**1-5

    午夜开始建造:@午夜或午夜开始建造,每周六:59 23**6

    每个月的第一天凌晨2:00-02:30之间:H(0,30)02 01**

  • 符允晨
    2023-03-14

    通过将计划周期设置为15 13***可以告诉Jenkins将构建计划安排在每年每月的每一天,即每天13小时的第15分钟。

    Jenkins使用了cron表达式,不同的字段是:

    1. 一小时内的分钟数(0-59)

    如果您希望每5分钟安排一次构建,这将完成以下工作:*/5****

    如果你想安排你的构建每天在8点,这将做的工作:0 8 * * *

    对于过去的几个版本(2014),Jenkins有一个新参数,H(摘自Jenkins代码留档):

    为了允许定期计划的任务在系统上产生均匀的负载,应尽可能使用符号H(表示“哈希”)。

    例如,在一打日常工作中使用0***,将导致午夜出现大峰值。相比之下,使用H***仍然可以每天执行一次每个作业,但不能同时执行所有作业,更好地使用有限的资源。

    还请注意:

    可以将H符号视为一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此该值对于任何给定项目都保持稳定。

    更多使用“H”的示例

     类似资料:
    • 安装了插件,这样当我们签入时,执行一个构建,如果成功,则验证中的修改。如果构建失败,那么就不是。我的理解是,这是通过在中设置的工作来实现的。我们现在已经创建了一个新分支(),我想我需要克隆指向另一个分支的现有作业,以便在每次提交时执行相同的工作流和构建。有人能解释一下我是如何克隆这些工作的吗?我似乎看不到一种通过UI来完成的方法,甚至看不到一种通过UI列出作业的方法。

    • 我已经为我们的项目设置了jenkins声明管道,而且我正在使用jenkins blue ocean插件 在github中,它显示以下url:http://unconfigured-jenkins-location/job/CRM/job/PR-180/1/display/redirect 如何将网址更改为正确的网址? 我发现这个插件是有责任的https://wiki.jenkins.io/disp

    • 我可以在我的笔记本电脑上成功安装jenkins online。但是,当试图离线安装詹金斯(jenkins)时(在我无法连接到互联网的办公室工作站上),情况就不妙了。在经营詹金斯家族之后。命令行战争虽然jenkins已经成功安装,但一些插件却丢失了。我设法从帖子中获得了一些帮助,如何在Jenkins中手动安装插件? 但是每个插件都必须单独下载,然后复制到我的离线机器上。所以我耍了个花招。我复制了(在

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

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

    • 问题内容: 我想在不同的机器上使用相同的作业。但是我不想每次都更改作业的配置。我可以通过机器名称标签作为参数并在另一台机器上运行作业吗?(不同时)。 我想在将作业运行到我在配置中编写的脚本(批处理脚本)时传递参数。我们能做到吗? 我可以从工作中获得返回值并在下一个工作中使用它吗? 问题答案: 是的,您可以使用NodeLabel Parameter Plugin传递节点标签参数。 是的,您可以按照描