使用Jenkins监控网站是否正常运行并发送邮件通知

55次阅读
没有评论

问题描述

想要通过Jenkins来监控一个通过Jenkins构建和部署的网站,如果网站出现故障,希望能够发送邮件通知。用户想知道如何设置一个定时任务来每隔约10分钟进行一次检查,以及是否这样做是一个好主意。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

使用Jenkins来监控网站并发送邮件通知是可行且相对简单的。以下是一个示例的Jenkins Pipeline脚本:

pipeline {
    agent any
    triggers {
        cron('*/10 * * * *')
    }
    stages {
        stage('Health checker') {
            steps {
                sh 'curl https://mywebsite.com'
            }
            post {
                failure {
                    mail to: 'notify-list@example.com',
                        from: 'jenkins@example.com',
                        subject: "${env.JOB_NAME} - Failed",
                        body: "Job Failed"
                }
            }
        }
    }
}

在上面的示例中,我们定义了一个名为”Health checker”的阶段,该阶段会执行一个curl命令来检查网站的健康状态。如果curl命令失败,即网站出现故障,Jenkins会发送一封邮件通知到指定的邮箱地址。

请注意,我们使用了Jenkins的定时触发器cron('*/10 * * * *')来设置定时任务,该任务会每隔约10分钟执行一次。

方案2

使用Jenkins的FreeStyle Job功能也可以实现类似的功能。以下是一种方法:
1. 在Jenkins的Job配置页面中,找到”Build Triggers”选项,选择”Build Periodically”。
2. 在Job配置页面的底部,找到”BUILD”菜单,点击”Add Build Step”,选择”Execute shell”。
3. 在Job配置页面的底部,找到”POST BUILD”菜单,可以在构建完成后发送通知。
4. 根据需求,可以将整个脚本放在”Execute shell”中,而不是分成两个步骤。

以下是一个示例配置页面的截图:
使用Jenkins监控网站是否正常运行并发送邮件通知

请注意,这只是一种使用Jenkins的FreeStyle Job来监控网站并发送邮件通知的方法,具体的配置可能会因Jenkins版本和个人需求而有所不同。

以上是两种使用Jenkins监控网站并发送邮件通知的方法,你可以根据自己的需求选择适合的方案。

正文完