在应用jenkins进行主动编译、构建时有些工作可能因为网络或其余起因始终阻塞,导致该我的项目不能再次执行编译构建。咱们心愿在某些工作执行工夫超过肯定值时将其终止。
办法一(一般)
jenkins的”build timeout plugin”插件能够帮咱们实现该工作。我应用的是jenkins-2.7.1, 默认就曾经装置了该插件,如果默认没有装置可在插件治理中搜寻进行装置。
办法二(Pipeline)
Jenkins Pipeline 提供了很多的步骤(step),这些步骤能够互相组合嵌套,不便地解决像反复执行步骤直到胜利(重试)和如果一个步骤执行破费的工夫太长则退出(超时)等问题。
pipeline {
agent any
stages {
stage('Deploy') {
steps {
retry(3) {
sh './flakey-deploy.sh'
}
timeout(time: 3, unit: 'MINUTES') {
sh './health-check.sh'
}
}
}
}
}
“Deploy”阶段(stage)反复执行 flakey-deploy.sh 脚本3次,而后期待 health-check.sh 脚本最长执行3分钟。 如果 health-check.sh 脚本在 3 分钟内没有实现,Pipeline 将会标记在“Deploy”阶段失败。
内嵌类型
内嵌类型的步骤,例如 timeout 和 retry 能够蕴含其余的步骤,包含 timeout 和 retry 。
咱们也能够组合这些步骤。例如,如果咱们想要重试部署工作 5 次,然而总共破费的工夫不能超过 3 分钟。
pipeline {
agent any
stages {
stage('Deploy') {
steps {
timeout(time: 3, unit: 'MINUTES') {
retry(5) {
sh './flakey-deploy.sh'
}
}
}
}
}
}
系列文章
jenkins的自动化配置
jenkins的tty问题
jenkins的反向代理配置
jenkins的java11问题
jenkins的私钥格局谬误问题
jenkins的webhooks配置
jenkins设置工作超时⏱(多种办法:图文并茂🖼)
参考
- nginx配置禁特定门路下的反向代理
- nginx配置禁止拜访目录或禁止拜访目录下的文件
- nginx跨域解决
- 带你深刻理解nginx根本登录认证(蕴含配置步骤)
- 应用htpasswd生成明码
- 应用openssl生成明码
- 应用python生成明码
- 你的nginx登录认证平安吗?
- 配置http根本验证(Basic Auth)
- Centos装置htpasswd_Nginx中应用htpasswd
- 带你深刻理解nginx根本登录认证(蕴含所有配置步骤和深度解析)
- 带你深刻理解nginx根本登录认证:应用htpasswd生成明码
- 带你深刻理解nginx根本登录认证:应用openssl生成明码
- 带你深刻理解nginx根本登录认证:应用python生成明码
发表回复