阅读文本大概需要 5 分钟。

上一篇文章讲到集成工具 Jenkins,他可以根据你设置的时间自动执行脚本,执行完后如果看不到执行结果,那是不完美的,Jenkins 是支持配置邮件通知功能的,今天就给大家分享下怎么让 Jenkins 执行完脚本后发邮件给你想发送的人。

上周发了文章后,有读者后台联系我,说 Jenkins 页面启动不了,如果服务没有自动启动的话,最稳妥的方式是需要我们用命令去启动或者部署在服务器里。下面就分享下怎么用命令启动 Jenkins 服务。

启动 Jenkins

启动前首先确保系统中有 Java 环境,最好是 jdk1.5 以上。

1、第一种启动方式
切换到 jenkins.war 存放的目录,一般在 Jenkins 的安装目录下,输入如下命令:

java -jar jenkins.war

java -jar jenkins.war

如果需要修改端口可在后面加上端口,默认端口是 8080

java -jar jenkins.war--httpPort=8080

java -jar jenkins.war--httpPort=8080

等待一会,启动成功后在浏览器中输入 localhost:8080,localhost 可以是本机的 ip,也可以是计算机名。就可以打开 jenkins。

2、第二种启动方式
用 tomcat 打开,解压 tomcat 到某个目录,如 /usr/local,进入 tomcat 下的 /bin 目录,启动 tomcat
将 jenkins.war 文件放入 tomcat 下的 webapps 目录下,启动 tomcat 时,会自动在 webapps 目录下建立 jenkins 目录,在地址栏上需要输入 localhost:8080/jenkins。

我一般用的是第一种启动方式,第一种每次开机都需要输入命令,是不是很麻烦,pk 哥教你一招,把这些命令做成 bat 批处理文件,设置成开机自启动文件。

python FastAPI uvicorn 定时重启服务 python自动执行_tomcat

Jenkins系统邮件配置

首先对 Jenkins 全局进行系统设置,进入 Jenkins 的系统设置。

1、设置管理员邮箱

设置 Jenkins URL 和发送报告邮件的邮箱地址,你的报告邮件就是由你填的这个邮箱发送出来,这里我用的是 QQ 邮箱。

python FastAPI uvicorn 定时重启服务 python自动执行_tomcat_02

2、配置扩展电子邮箱通知属性
在 Extended E-mail Notification 选项中配置管理员邮箱属性。

python FastAPI uvicorn 定时重启服务 python自动执行_Python_03

解释下相应的配置字段:(左右滑动查看全部代码)

SMTP server:填写 smtp 服务

Default user E-mail suffix:邮箱后缀

User Name:不带后缀的邮箱地址

Password:smtp 授权码,之前有文章分享过,详见30行Python代码实现自动收发邮件

SMTP port:smtp 端口号

Charset:发送邮件的内容字体

Default Content Type:发送邮件的内容类型

Default Recipients:默认接收邮件的收件人邮箱,带上邮箱后缀

Default Subject:发送邮件的标题

Default Content:发送邮件内容头部默认的内容
SMTP server:填写 smtp 服务

Default user E-mail suffix:邮箱后缀

User Name:不带后缀的邮箱地址

Password:smtp 授权码,之前有文章分享过,详见30行Python代码实现自动收发邮件

SMTP port:smtp 端口号

Charset:发送邮件的内容字体

Default Content Type:发送邮件的内容类型

Default Recipients:默认接收邮件的收件人邮箱,带上邮箱后缀

Default Subject:发送邮件的标题

Default Content:发送邮件内容头部默认的内容

3、配置电子邮箱通知属性

python FastAPI uvicorn 定时重启服务 python自动执行_Jenkins_04

配置项和上面的保持一致,最后输入一个可用的邮箱地址,测试下邮箱是否配置成功,如果显示 Email was successfully sent 表示配置成功。

如果报错,可能有两种情况,可以根据下面步骤排查:

  • Java 环境没配置好,Jenkins 是基于 Java 环境的,终端命令下输入 java -version 和 javac -version 如果正常显示版本,则 Java 环境正常。
  • 邮箱授权码确保正确,重新获取下邮箱授权码,重新复制粘贴到输入框。
安装邮件通知插件

配置具体任务邮件通知之前,我们要先检查下邮件通知的相关插件是否安装。进入系统管理/插件管理,在已安装插件里搜索 Email Ext Recipients Column 插件和 Email Extension 插件,如果已安装的话则忽略,没安装的话在可选插件里搜索它并安装,安装完成后会显示在已安装列表中。

python FastAPI uvicorn 定时重启服务 python自动执行_Python_05

具体任务邮件通知配置

接下来,我们对具体任务进行邮件通知的配置,进入具体任务,点击配置按钮进入配置页面。上篇文章讲到了构建触发器设置定时时间和构建批处理命令,邮件通知设置在最后面的「构建后操作」,选择 Editable Email Notification 进行邮件通知相关配置。

python FastAPI uvicorn 定时重启服务 python自动执行_Python_06

基本设置中把 Content Type 内容类型换成 HTML 类型,其他默认就好。主要配置在高级配置中,点击 Advanced Settings 进入高级设置,在「Triggers」中有个发送设置,设置执行结果发送邮件的接受者,你可以增加不同的 Trigger,执行失败时发送给哪些收件人,执行成功时发送给哪些收件人。点击「高级」按钮,对主题和内容进行具体配置。

python FastAPI uvicorn 定时重启服务 python自动执行_Python_07

主要的配置是 Content 内容格式配置,这里我用 html 语言自定义了格式,格式中引用的变量都是 Jenkins 中的变量,需要此格式的全部脚本,后台回复「邮件格式」获取。最后的 Attachments 是配置每次执行后生成的报告文件,配置完后点击应用或保存。

接下来我们构建任务,这次任务我用的脚本是 Python自动化操作浏览器,解放双手,这感觉真爽 文章中登录 pk 哥博客的脚本。执行后我们看下邮件发送情况。

python FastAPI uvicorn 定时重启服务 python自动执行_tomcat_08

在邮件构建日志中打开也可以查看具体脚本的执行报告和执行日志。

python FastAPI uvicorn 定时重启服务 python自动执行_tomcat_09

今天的内容就分享到这里,希望对你有帮助,祝进步!