jenkins安装和配置

jenkins的war包下载地址
https://www.jenkins.io/download/  #
https://www.oracle.com/java/technologies/downloads/  #下载java 17,21,25
windows安装jenkins
#前提,jdk已经安装(java -version 确认)
双击jenkins.msi安装
8081  #设置启动端口
C:\Program Files\Java\jdk-25.0.2\  #选择jdk位置
java -jar "C:\Program Files\Jenkins\Jenkins.war" #启动jenkins
C:\ProgramData\Jenkins\.jenkins\secrets\initialAdminPassword #取管理员密码,第一次用的
等待一分钟
选择安装推荐插件 等待5分钟
设置用户名密码 admin/admin  邮箱:397873274@qq.com
直到完成


首次安装提示插件不存在则:
1. #页面会自动重启 Jenkins,跳过 “安装推荐插件” 报错界面,直接进入管理员登录页
http://127.0.0.1:8080/restart 
2:下载 cloudbees-folder 插件(.hpi 文件)
国内镜像(速度快):https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/cloudbees-folder/latest/cloudbees-folder.hpi官方地址:https://updates.jenkins.io/download/plugins/cloudbees-folder/latest/cloudbees-folder.hpi
3:网页上传插件安装
登录管理员账号 → 系统管理 → 管理插件 → 高级
找到【上传插件】,选择刚下载的 cloudbees-folder.hpi,
redhat安装jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/rpm-stable/jenkins.repo
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-21-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload
启动jenkins(bat脚本)
java -jar "C:\Program Files\Jenkins\Jenkins.war" --httpPort=8088
pause
访问
http://127.0.0.1:8081/
给jenkins登录系统权限,以便能和本地CMD一样执行命令行,否则jenkins很可能找不到python chromedriver路径
services.msc #打开服务
找打jenkins,右键打开属性,选择登录
选择此账户,输入用户名:.\seven 密码/确认密码:922858
重启服务
重启jenkins命令行
新建项目
#1. 代码源配置:
#方法1,本地代码:general->高级->使用自定义工作空间
D:\gitee\shortcoderKeyDriven  
D:\gitee\shortcoderPytest
#方法2,gitee上的代码,勾选Git
Repository URL:https://gitee.com/seven922858/appAutoTest_ApiDemos.git
Credentials 点击添加
    用户名:397873274@qq.com/seven922858  #搞不清哪一个了?
    密码:22178698b356e965cc6e990a37e2b5c5 #gitee的私人令牌(个人设置-私人令牌)
指定分支:*/master  #自动生成的,不用管
C:\ProgramData\Jenkins\.jenkins\workspace\appAutoTest_ApiDemos  #存放的路径

#2. Build Steps->增加构建步骤->Execute windows batch commend
    python D:\gitee\shortcoderKeyDriven\run.py   
    python D:\gitee\shortcoderPytest\run_tests.py
    python -m pytest --junitxml=report.xml

3. 增加构建后Publish JUnit test result report
测试报告(XML):report.xml  # pytest命令行增加了“--junitxml=report.xml”会在根目录下生成report.xml
4. 增加构建后发送email
Project From:397873274@qq.com
Project Recipient List:397873274@qq.com
Default Subject:$PROJECT_NAME
Default Content:参考下面“Default Content(text/html)代码”
Attachments: html/pytestHtml_report/image/* #只能写workspace下的相对路径,做斜杠
Triggers:Always
Send To:Recipient List
邮件通知,没啥用,只是可以测试一下邮件通不通
系统管理员邮件地址:397873274@qq.com
#系统配置->邮件通知
SMTP服务器:smtp.qq.com
用户默认邮件后缀:@qq.com
使用SMTP认证
    用户名:397873274@qq.com
    密码:dxwawynwiuclbiec      #qq邮箱安全配置->POP3/IMAP/SMTP/Exchange/CardDAV 服务
    勾选SSL,端口465 #qq邮箱必须要用SSL或TSL
测试邮箱是否发送成功
    gneexwxmryffcaed   #jenkins-extend-email

#项目里也需要配置一个构建后操作
构建后操作->收件人:397873274@qq.com
系统配置-Extended E-mail Notification
SMTP server:smtp.qq.com
SMTP Port:465
高级:
    Credentials 点击添加globle
    选择Username with password,点击next
    用户名:397873274@qq.com
    密码:gneexwxmryffcaed   #jenkins-extend-email授权码,qq邮箱安全配置->POP3/IMAP/SMTP/Exchange/CardDAV 服务
    ID:可留空,用于脚本配置
#以下均不用配置,配置了项目里也不会自动继承,所以就算配置了也没有任何用处。
Default user e-mail suffix:@qq.com,也可以留空,但接收人邮箱名必须填全,不会自动添加后缀
Default Content Type:HTML(text/html)
Default Recipients: 397873274@qq.com  #默认接收人
Default Subject: $PROJECT_NAME  #感觉也没啥用,每个项目有自己的
Default Content: 查看下面代码(html)
Enable Debug Mode: 可勾选,以查看更详细的构建信息
Default Triggers: 选择Always/Failure-Any/Success
Default Content(text/html)代码,中文版
<!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">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                </ul>    


<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
 
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
 
            </td>    
        </tr>    
    </table>    
</body>    
</html>
Default Content(text/html)代码,English Edition
<!DOCTYPE html>    
<html>    
<head>    
<meta charset="UTF-8">    
<title>${ENV, var="JOB_NAME"}-The ${BUILD_NUMBER}th build</title>    
</head>    
    
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            This email is automatically sent by the system and does not require a reply!<br/>            
            Dear colleagues, hello everyone. The following is the build information of the ${PROJECT_NAME } project.</br> 
            <td><font color="#CC0000">Building Result - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">Building Information</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>Project Name : ${PROJECT_NAME}</li>    
                    <li>Building  Number: The ${BUILD_NUMBER}th build</li>    
                    <li>Triggering Cause: ${CAUSE}</li>    
                    <li>Building Status: ${BUILD_STATUS}</li>    
                    <li>Building Log: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>Building Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>Workspace: <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>Project  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                </ul>    


<h4><font color="#0B610B">Failer Case</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
 
<h4><font color="#0B610B">Recently Submitted(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
Detailed submission: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
 
            </td>    
        </tr>    
    </table>    
</body>    
</html>

 

posted @ 2026-09-16 23:54  seven1986  阅读(15)  评论(0)    收藏  举报