zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Poj 2017 Speed Limit(水题)
    Poj 1316 Self Numbers(水题)
    Poj 1017 Packets(贪心策略)
    Poj 1017 Packets(贪心策略)
    Poj 2662,2909 Goldbach's Conjecture (素数判定)
    Poj 2662,2909 Goldbach's Conjecture (素数判定)
    poj 2388 Who's in the Middle(快速排序求中位数)
    poj 2388 Who's in the Middle(快速排序求中位数)
    poj 2000 Gold Coins(水题)
    poj 2000 Gold Coins(水题)
  • 原文地址:https://www.cnblogs.com/zndxall/p/8650061.html
Copyright © 2011-2022 走看看