持续集成之jenkins从入门到应用

jenkins是一个自动化服务器,比较成熟的ci工具,也可以是cd工具,能够实现自动化集成发布,集成了各种插件,实现各种功能。通过流水线提高工作效率。

1 jenkins安装

1.1 安装jdk

yum install -y java-1.8.0

1.2 安装jenkins

下载
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.204.5-1.1.noarch.rpm
安装
[root@jenkins ~]# rpm -ivh jenkins-2.204.5-1.1.noarch.rpm

启动
[root@jenkins ~]# systemctl start jenkins.service
验证
[root@jenkins ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since 二 2020-03-17 23:35:21 CST; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1867 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           └─1890 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jen...

3月 17 23:35:18 jenkins systemd[1]: Starting LSB: Jenkins Automation Server...
3月 17 23:35:18 jenkins runuser[1872]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
3月 17 23:35:21 jenkins jenkins[1867]: Starting Jenkins [  确定  ]
3月 17 23:35:21 jenkins systemd[1]: Started LSB: Jenkins Automation Server.

配置修改位置
/etc/sysconfig/jenkins

访问链接
http://192.168.32.133:8080

1.3 安装后配置

1.3.1 解锁jenkins

当您第一次访问Jenkins的时候,系统会要求您使用自动生成的密码对其进行解锁
可以通过日志文件获取
[root@jenkins jenkins]# tail -f jenkins.log 
Please use the following password to proceed to installation:

b92ffcf6ea824bfe97ea464535556529

This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword

持续集成之jenkins从入门到应用
输入b92ffcf6ea824bfe97ea464535556529解锁

1.3.2 自定义Jenkins插件

选择安装推荐的插件,后面有不需要的可以删除。
持续集成之jenkins从入门到应用
选择之后如下图
持续集成之jenkins从入门到应用
开始安装插件

1.3.3 创建用户

持续集成之jenkins从入门到应用

1.3.4 改源为国内源

 sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
#将jenkins下载插件的路径,更改为国内源
systemctl restart jenkins          #重新启动Jenkins

2 配置jenkins 用户权限控制

2.1 安装Role-based Authorization Strategy插件

系统管理-管理插件-可选插件中安装Role-based Authorization Strategy
持续集成之jenkins从入门到应用

安装后重启jenkins使其生效

2.2 在系统设置里设置使用

在系统管理-Configure Global Security-授权策略-Role-Based Strategy,勾选Role-Based Strategy保存

持续集成之jenkins从入门到应用

2.3 创建用户

持续集成之jenkins从入门到应用持续集成之jenkins从入门到应用

2.4 创建角色

系统管理页面进入Manage and Assign Roles,点击assign roles

持续集成之jenkins从入门到应用

创建项目角色

持续集成之jenkins从入门到应用

2.5 给创建的用户赋予相应的角色

持续集成之jenkins从入门到应用

4 配置jenkins邮件告警功能

4.1 安装邮件插件

可以通过系统管理→管理插件→可选插件,选择Email Extension Plugin插件进行安装:

持续集成之jenkins从入门到应用

在线安装,安装好之后重启Jenkins。

4.2 系统设置邮件

通过系统管理→系统设置,进行邮件配置: 持续集成之jenkins从入门到应用 设置jenkins地址和管理员邮箱地址
持续集成之jenkins从入门到应用
设置发件人信息 持续集成之jenkins从入门到应用 配置邮件内容模版 持续集成之jenkins从入门到应用 邮箱内容模版
<!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>
设置邮件触发机制 持续集成之jenkins从入门到应用 配置系统默认的邮箱配置 持续集成之jenkins从入门到应用 测试发送 持续集成之jenkins从入门到应用

4.3 配置项目使用邮件告警

在完成系统设置后,还需要给需要构建的项目进行邮件配置。 配置构建后操作模块 进入系统配置页面后,点击上方的构建后操作选项,配置内容如下:
持续集成之jenkins从入门到应用持续集成之jenkins从入门到应用持续集成之jenkins从入门到应用

配置内容默认即可,邮件内容类型可以根据自己的配置选择,收件人列表可以从前面的系统设置中默认收件人选项配置。

构建触发邮件测试

持续集成之jenkins从入门到应用
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: