jenkins设置任务超时⏱(多种方法:图文并茂)

在使用jenkins进行自动编译、构建时有些任务可能由于网络或其他原因一直阻塞,导致该项目不能再次执行编译构建。我们希望在某些任务执行时间超过一定值时将其终止。

方法一(普通)

jenkins的”build timeout plugin”插件可以帮我们完成该任务。我使用的是jenkins-2.7.1, 默认就已经安装了该插件,如果默认没有安装可在插件管理中搜索进行安装。

jenkins设置任务超时⏱(多种方法:图文并茂)_第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生成密码

你可能感兴趣的:(运维,jenkins)