搭建Jenkins工程来每日获取精美图片

78 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

上一篇向大家介绍了如何在搭建自己的Jenkins环境,并在其中搭建一个工程,这一篇分享一个定时获取最新壁纸图片的工程,并实现邮件通知。

工程目标就是获取这个网站pic.netbian.com/new/ 中的第一张图片,并每天定时运行几次,将这个图片发到我们的邮箱里。

先编写python脚本来实现提取链接这个功能。

image.png python脚本的目的是将这个链接提取出来打印,后续可以用于curl来下载。

再将脚本放入仓库即可。

接着在Jenkins上面搭建工程。搭建方法参考上一篇。

解释下这个配置,这里先将仓库中的代码拉下来。再进入这个目录,执行python脚本,得到链接,存入变量pic_url。

image.png 存入后使用curl命令将其下载下来。

这里的下载指定了文件名,便于后续邮件上传。

邮件这里不用默认的,用另一个插件,Email Extension,可以携带附件,较基础插件好用很多。

plugins.jenkins.io/email-ext/

配置时在系统配置中,先要确保Jenkins Location配置项,System Admin e-mail address已经正确配置,且会是同一个。再找到Extended E-mail Notification配置项。网易邮箱的配置如下,需要在网易邮箱开启SMTP功能,在设置中点击即可获得密码,需要注意这个密码不是登录邮箱的密码。

image.png

配置后,添加POST Build步骤,选择Editable Email Notification,将想要接收的邮件地址填入Project Recipient List,英文逗号分隔,将想要的附件填入Attachments,即填入图片所在的位置。

image.png

其他配置也可自行处理。 结果如下:

image.png  

定时配置即在BuildTriggers步骤勾选Build periodically,设置值即可,值的格式和linux定时任务一致,注意系统时区即可,否则运行的时间和我们想像的不一致。

image.png

这里设置每天2点跑一次。

定时后遇到一个问题就是会有重复的东西在你的空间里,导致工程失败,这里需要再安装清理插件Workspace Cleanup Plugin,配置中勾选Build Environment中的Delete workspace before build starts即可实现运行前清理工作空间。

  image.png

如果你觉得那张小图片不好,还可以改进下那个python脚本,获取后面的大图片哦!