Jenkins

2020-08-07  本文已影响0人  手捧樱花v

docker-compose.yml

version: '2'
services:
  jenkins:
    container_name: jenkins
    image: jenkinsci/blueocean
    restart: always
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - /var/jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock

docker.sock是将宿主机的docker指令挂载 可以在本容器中调用本地docker镜像/容器
html-publisher未加载css使用groovy script插件:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

shell中判断/循环语句需要写在一行

if [ $(grep -c "_FailedTest" ../../shuangshi/Result/result.html) -ne 0 ]; then exit 1; else exit 0; fi

进入docker后执行的脚本也需要写在一行

docker exec sakura bash -c 'cd /var/jenkins_home/shuangshi;git pull;python run.py;'

email html模版(插件是Extended E-mail Notification)

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>  
</head>  
  
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"  
    offset="0">  
    <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3>
    <div>
    <table width="95%" cellpadding="0" cellspacing="0" 
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> 
        <tr>
            <th><br />
                <h2>构建信息</h2> 
            </th>
        </tr>
        <tr>  
            <td>  
                <ul>  
                    <li>项目名称 : ${PROJECT_NAME}</li><br />  
                    <li>美化的测试报告 : <a href="${PROJECT_URL}HTML_20Report">${PROJECT_URL}HTML_20Report</a></li><br />
                    <li>触发原因: ${CAUSE}</li><br />                    
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li><br />
                </ul>  
            </td> 
        </tr>  
    </table> 
    <div>${FILE,path="../../shuangshi/Result/result.html"}</div>
    </div>
  </body>  
</html>

advanced中的trigger中的advance可以分别编辑成功时发送的脚本/失败的脚本
Jenkins状态是根据shell脚本中输出是否为0判断该次构建为成功的

Extended E-mail Notification配置(ali)

SMTP:smtpdm.aliyun.com
25nossl 465ssl
password为授权码
上一篇 下一篇

猜你喜欢

热点阅读