Jenkins 从计划中排除日期

标签 jenkins

如何从 Jenkins 计划中排除特定日期?

例如:周一至周五 7 点至 17 点每 5 分钟一类。 H/05 7-17 * * 1-5

但是,如果一周中的某一天是公共(public)假期,则不应运行。我该如何配置?

谢谢

最佳答案

目前 Jenkins crontab 不支持诸如公共(public)假期排除之类的复杂逻辑。但是,您可以使用一些选项来实现此目的:

第一

对于我的项目,我创建了自己的假日数据库,它是一个包含我想要排除的日期的文件,例如:

# /path/to/holidays
# New Year's Day
01-01-2017
# Christmas
12-25-2017

我使用 Jenkins shell 脚本检查它,正如建议的 here .

例如上述文件格式:

#!/bin/bash

TODAY="`date +%m-%d-%Y`"
if grep -q $TODAY /path/to/holidays; then
   echo Skipping holiday for $*
   exit 0
fi

$*

第二个

一个更强大但更复杂的解决方案是基于以下内容创建您自己的插件 Run Condition Example Plugin其中您排除了您所在国家/地区的公共(public)假期,例如 plugin

关于 Jenkins 从计划中排除日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41219157/

相关文章:

java - 如何设置 Maven 选项以运行发布或快照

java - 通过 Jenkins 运行 Java Jar

java - OpenShift Gradle 失败并出现 java.net.BindException : Permission denied

node.js - 为什么当测试失败时 Jenkins 仍然说成功?

Jenkins 管道在作业之间共享信息

docker - Jenkins + Docker : How to control docker user when using Image. 内部命令

xcode - xcode 6.1升级后如何手动修复 "ResourceRules.plist: cannot read resources"错误?

git - 用于基于新发布标签触发 jenkins 的 groovy job DSL

java - 如何使用自定义 JDK 构建 Jenkins 项目?

java - CentOS 7中通过jenkins构建时如何设置JRE和JDK的正确路径?