• jenkins 邮箱配置---腾讯企业邮箱


    一,简单设置

    1.登陆jenkins--》 系统管理 ---》 系统设置

    2.邮箱就是发送者的邮箱,密码是登陆邮箱的密码

    3.设置完以后,可以点击‘test configuration’,显示如下,表示成功,然后点击'保存'来保存配置。

     4.jenkins任务配置通知人员

    多个接收人员可以用空格隔开,但是以上设置只能在构建不稳定的时候才能发邮件,使用以下插件可以设置何时发送。

    二、扩展功能

    1.安装插件:emailext-template.hpi

    插件下载地址:http://updates.jenkins-ci.org/download/plugins/

    2.系统管理--》 系统设置

    原来的邮箱设置还是先留着,如下:

    说明:

    default content 内容如下:

    (本邮件是jenkins构建自动触发,请勿回复!)

    项目名称: $PROJECT_NAME

    Jenkins地址: $JENKINS_URL

    构建编号: $BUILD_NUMBER

    构建状态: $BUILD_STATUS

    触发原因: ${CAUSE}

    构建日志地址: ${BUILD_URL}console

    变更记录: ${BUILD_URL}changes

    构建地址:$BUILD_URL

    构建结果FTP路径:请查看附件result_ftp_path.txt

    default triggers: 指定什么时候触发邮件发送,可以是成功时发送,可以是失败时发送,也可以是只要构建就发送,也可以是其它。

     3.任务配置:

    多个接收者之间可以使用空格或者逗号隔开。

    说明:

    Disable Extended Email Publisher :这是一个很人性化的操作,如果在你调试的时候不想发邮件,那么直接勾选该选项就可以了。

    以上设置的效果如下:

    此外,如果想在邮件中体现其它信息,但是没有对应的环境变量,比如,我们构建结束后,一般会把结果文件存在一定地方或者ftp服务器上,此时,就需要知道这个路基,我们可以使用邮箱设置附件的方式来实现,比如如下:

    备注,这是相对于workspace的job目录下的根目录,其它路径可以使用相对路径设置。

    此时,邮件效果如下:

    这样就可以清楚的看到需要的路径。

    另外,上面我们说到,使用这个设置,可以邮箱的打开关闭邮箱,但是,并不行手动去改动,希望实现这样的场景:如果是jenkins自动的管理员admin构建或者是jenkins定时自动构建才需要发送邮件给小组成员,其它时候,小组成员使用自己的账号进行调试的时候,不需要发动邮件给小组成员。这样的场景如果手动去改,就太麻烦了,可以用脚本实现,判断如果是admin和自动构建账号时,如果发送邮件的开关关闭了,就打开,如果不是管理员账号和自动构建时,如果发送邮件的开关已经打开了,就关掉。

    函数调用方式:

    send_email $JOB_NAME $trigger_user

    函数:

    function send_email()
    {
      job_path="/root/.jenkins/jobs"
      email_jenkins="http://192.168.8.2:8080/jenkins/job"
      config_file=$job_path/$1/config.xml
      echo email trigger user $2
      echo config_file=$config_file
      grep -rn "ExtendedEmailPublisher>" $config_file
      email_old_line=`grep -rn "ExtendedEmailPublisher>" $config_file |awk -F ":" '{print $1 }'`
      echo email_old_line=$email_old_line
      email_fit_line=`expr $email_old_line - 1`
      email_fit_con=`sed -n "$email_fit_line"p $config_file`
      echo line $email_fit_line content is $email_fit_con
      #如果触发者是admin或者是自动触发的,如果邮件发送关掉了,那么打开开关,发送邮件
      #如果邮件发送者不是admin也不是自动触发,如果邮件功能打开了,那个关闭开关,不发送邮件
      if [ "$2" == "admin" -o "$2" == "SCMTrigger" ] ;then
        echo trigger is admin ,need to send email
        if [ "${email_fit_con#*<}" == "disabled>true</disabled>" ] ;then
          echo but default email send function is disabled, so need to open it
          sed -i ""$email_fit_line"c <disabled>false</disabled>" $config_file
          curl -u admin:112233 -X POST $email_jenkins/$1/reload
        else
          echo default email send function is opened ,great !
        fi
      else
        echo trigger is not admin, donot need to send email
        if [ "${email_fit_con#*<}" == "disabled>false</disabled>" ];then
          echo but default email send function is opened ,so need to close it
          sed -i ""$email_fit_line"c <disabled>true</disabled>" $config_file
          curl -u admin:112233 -X POST $email_jenkins/$1/reload
        else
          echo default email send function is closed ,great !
        fi
      fi
      email_fit_con=`sed -n "$email_fit_line"p $config_file`
      echo line $email_fit_line new content is $email_fit_con  

      }

    参考:https://www.cnblogs.com/zanjiahaoge666/p/6377488.html

  • 相关阅读:
    Codeforces 1515 H. Phoenix and Bits 题解
    Codeforces 1511 F. Chainword 题解
    Codeforces 1369F. BareLee 题解
    莫队学习笔记
    圆方树学习笔记
    虚树学习笔记
    NOIP2020退役记
    CSP-S2 2021 场外
    我。
    WC2021 游记
  • 原文地址:https://www.cnblogs.com/zndxall/p/8650061.html
Copyright © 2020-2023  润新知