Jenkins一连集成CI,一连摆设CD,Allure报告集成以及发送电子 邮件

[复制链接]
发表于 2025-6-11 23:07:15 | 显示全部楼层 |阅读模式
一、Jenkins 的简介

它是一个可以扩展的一连集成CI和一连摆设CD的平台,它只是平台,主要的运作的是插
件。
主要作用:
一连的监控监控项目版本发布。实现一连摆设CD
监控监控外部的定时任务。
二、Jenkins的安装

查看文章: jenkins 一连集成情况从0到1搭建全过程
三、Jenkins 文件夹的作用




  • jobs:构建作业(job)的设置细节,以及运行作业时的产物和数据。
  • logs:日记
  • nodes:节点设置
  • plugins:插件

    • Allure jenkens Plugin 解决allure报告和jenkins集成的插件。
    • HTML publisher 集成HTML报告的插件
    • RobotFrameowrk 集成RF
    • Zentimestamp 集成日期和时间
    • Email Extesion plugin 集成电子邮件
    • Groovy 解决自动化报告样式丢失的插件
    • secrets 存放秘钥
    • updates 存放更新的插件
    • userContent 定制化的内容
    • users 用户信息
    • war 存放web应用步调
    • workspace 默认工作空间。

四、Jenkins 的应用

新建 job


设置 job




    • 设置自定义的工作空间



    • 构建命令


jenkins 集成 Allure 报告。




    • 安装 allure 插件
       

    • Manage Jenkins->lugins

    • Available Plugins -> 搜索插件并安装



    • 在【全局工具设置】,设置 Allure
       

    • Manage Jenkins->Tools

    • Allure Commandline->设置 Allure



    • 在 job 里面设置:构建后的操纵
       

    • Configuration->ost-build Actions

    • Add post-build actions ->Allure Report

    • Add post-build actions ->Allure Report-> 设置临时文件夹(也就是存放log的文件夹)


      • Advanced -> 设置报告文件夹位置




    • 设置完成后,重新运行,点击 报告即可查看


jenkins 集成 HTML 的报告



  • 1)安装 HTML publisher 插件
  • 2)设置job里面的【构建后操纵】

  • 3)设置【构建】,选择输入一下脚本解决HTML报告样式丢失的问题:
    System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”,“”)
五、Jenkins 发送电子邮件

1)安装插件:Email Extension

2)开启 POP3/SMTP 服务


3)得到邮箱的客户端暗码


4)设置邮箱的发件人,SMTP服务器,收件人等信息。



  • 设置体系管理员的邮箱:Manage Jenkins->System->System Admin e-mail address

    • 填写:和发件人邮箱保持一致


  • 设置发件人信息:Manage Jenkins->System->Extended E-mail Notification

  • 设置收件人信息&邮件的标题和内容:

  • 邮件的服务器和后缀:Manage Jenkins->System->E-mail Notification



  • 邮件参数解释:


      • Default Content Type
           

      • 寄义:默认邮件内容格式
      • 选项:Plain Text (text/plain) 是纯文本格式,也可按需选 HTML 格式(若支持),决定邮件正文的解析方式


      • List ID
           

      • 寄义:邮件列表标识
      • 作用:给批量发送的邮件标记统一 ID(类似邮件列表的 “分组名” ),方便收件箱规则识别、归类


      • Add ‘Precedence: bulk’ E-mail Header
           

      • 寄义:添加 “批量邮件” 头信息
      • 作用:勾选后,邮件头会带 Precedence: bulk ,提示收件箱这是批量发送的邮件,部门邮箱会据此调整拦截计谋(如低落进垃圾箱概率)


      • Default Recipients
           

      • 寄义:默认收件人
      • 用法:填邮箱地点(多个用逗号分隔),作为全局默认收件人,项目级设置未指定时会用这里的地点


      • Reply To List
           

      • 寄义:回复邮件的目标地点
      • 作用:指定 “回复邮件” 时默认发到哪个邮箱,可设邮件列表地点或统一回复邮箱


      • Emergency reroute
           

      • 寄义:告急转发地点
      • 作用:非常情况(如主收件体系故障)下,邮件会转发到这里的地点,保障通知不丢失


      • Allowed Domains
           

      • 寄义:答应的收件域名
      • 作用:填域名(如 yourcompany.com ),限制只有该域名的邮箱能收邮件,避免误发到外部


      • Excluded Recipients
           

      • 寄义:排除的收件人
      • 用法:填邮箱地点,即使在默认 / 项目收件人里,这些地点也不会收到邮件(用于临时屏蔽)


      • Default Subject
           

      • 寄义:默认邮件主题
      • 示例:KaTeX parse error: Expected 'EOF', got '#' at position 22: …T_NAME - Build #̲BUILD_NUMBER - $BUILD_STATUS! 是 Jenkins 变量,自动更换为 项目名、构建编号、构建状态 ,让主题动态表现构建效果


      • Maximum Attachment Size
           

      • 寄义:最大附件大小
      • 说明:-1 表示不限制大小,也可填数值(如 10 代表 10MB ),控制邮件附件的上限


  • 邮件内容格式参考:
  1. 标题:【构建通知】:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
  2. 内容:
  3. <!DOCTYPE html>   
  4. <html>   
  5. <head>   
  6. <meta charset="UTF-8">   
  7. <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志日志</title>   
  8. </head>   
  9.    
  10. <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"   
  11.     offset="0">   
  12.     <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">   
  13.         <tr>   
  14.             本邮件由系统自动发出,无需回复!<br/>            
  15.             各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
  16.             <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
  17.         </tr>   
  18.         <tr>   
  19.             <td><br />   
  20.             <b><font color="#0B610B">构建信息</font></b>   
  21.             <hr size="2" width="100%" align="center" /></td>   
  22.         </tr>   
  23.         <tr>   
  24.             <td>   
  25.                 <ul>   
  26.                     <li>项目名称 : ${PROJECT_NAME}</li>   
  27.                     <li>构建编号 : 第${BUILD_NUMBER}次构建</li>   
  28.                     <li>触发原因: ${CAUSE}</li>   
  29.                     <li>构建状态: ${BUILD_STATUS}</li>   
  30.                     <li>构建日志日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>   
  31.                     <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>   
  32.                     <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>   
  33.                     <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>  
  34.                 </ul>   
  35. <h4><font color="#0B610B">失败用例</font></h4>
  36. <hr size="2" width="100%" />
  37. $FAILED_TESTS<br/>
  38. <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
  39. <hr size="2" width="100%" />
  40. <ul>
  41. ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
  42. </ul>
  43. 详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
  44.             </td>   
  45.         </tr>   
  46.     </table>   
  47. </body>   
  48. </html>
复制代码
5)在 job 里面设置:构建后的操纵



  • configure->Add post-build action->Editable Email Notification:

  • Andvanced Settings->Triggers->Add Trigger(注意把构建失败才发送的默认设置给去掉再添加)

  • 修改触发的方式,默认是失败触发,改成总是触发 Always:

  • 保存设置,重新运行完成后,便可接收到邮件
六、Jenkins 定时任务



  • configure->Triggers->Build periodically
  • 五星大法:* * * * * [分 时 日 月 年]
  • 比如下图是天天的 11:34 自动触发运行

七、Jenkins 一连摆设 CD



  • 手工发布版本
    开发1.0,代码数据库导出,摆设到测试情况。
    开发2.0,代码数据库导出,摆设到测试情况。

  • 一连摆设:

    • configure->Source Code Management:

    • 根据上图提示,设置完项目克隆的 git 堆栈地点和拉取分支,下次在 build 项目时,会拉取堆栈上对应分支的最新代码,然后再运行,这样便可完成一连摆设


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表