持续集成工具Jenkins的使用之配置篇(二)

上一篇 :持续集成工具Jenkins的安装配置之安装篇(一)-CSDN博客

接上文

三.Jenkins配置

Jenkins配置主要是针对创建构建任务前做的一些基本配置,这些配置有些是必须的,有些是可以帮我们提高效率的,总之都是Jenkins管理员都要会的一些操作,如下配置都并非必设项,也没有固定顺序 ,完全根据个人需求来设置即可。

3.1 用户管理(创建用户)

当一个团队在使用Jenkins时,一般都会为不同角色创建不同账号,从而给为每个账号设置不同权限 ,这样就能相对安全的管理多个用户 。那么接下来我们就为Jenkins创建一个账号 。

创建步骤如下:

  1. 点击系统管理-管理用户节点 。

  2. 进入的页面中点击新建用户 ,输入对应的新用户信息 。

  3. 新建后可以查看用户列表 。

3.2 插件管理(添加插件)

很多时候,使用Jenkins时需要自己安装一些插件,以满足工作需求 。就比如若要在Jenkins界面上查看HTML格式的报告 ,这个时候你就需要安装一个名为HTML Publisher的插件 。具体安装什么插件,插件叫什么名字,这个需要提前知道 。

安装步骤如下:

  1. 点击系统管理-插件管理节点 。

  2. 进入的页面中,切换到可选插件 ,在上面搜索框输入你要搜索的插件,比如我这里以HTML Publisher为例 。

  3. 选中插件前的复选框,点击"Install without restart" .

  4. 等待插件安装,安装后可重启Jenkins即生效 。

说明:同样其它插件安装也是如此,需要你提前知道插件的名字 。

3.3 视图管理(添加视图)

视图可以对创建的任务进行分组显示, 分组的维度可以由管理员确定 ,此功能主要用户提高查询效率 。比如我这里以角色来进行分组 ,分为开发,测试,线上 。

具体操作步骤如下:

  1. 点击"新建视图",输入视图名称 ,选择列表视图 。

  2. 进入新设置页,直接点击保存即可 。

  3. 添加视图后,我们后续新建的Job就会按视图进行分组管理。具体如下:

3.4 用户权限配置

当团队都在一个Jenkins时,用户的分组管理是非常有必要的 ,比如按照用户进行设置权限,不同的用户只能操作对应的视图或者只能进行相应的操作 。这样就会给多不必要的麻烦 。

具体操作步骤如下:

  1. 点击Manager Jenkins-Configure Gloabl Security

2.选择授权策略下的安全矩阵,点击Add user or group... ,将已存在的用户添加进来 。

3.根据上面的不同类型和人员进行矩阵选择 。

这样不同的人员登录Jenkins后,就会只能在权限范围内的功能可以操作,其它功能都是无法操作的 。

3.5 控制用户操作不同视图

虽然在上面我们已经介绍,可以为不同用户添加不同功能的操作权限 ,但有时候我们的Jenkins会有不同部门一起使用,比如开发部门,测试部分,运维部门等 。那么我们就会建几个不同的视图,每个角色只能在对应的视图下进行操作。按照上面的配置肯定是无法满足需求的,接下来我们就实现下这种需求 。

具体操作步骤如下:

  1. 下载插件:role-strategy ,下载地址:Role-based Authorization Strategy,进入下载列表页可以选择最后一个版本进行下载。

  2. 回到Jenkins中,点击Manager Jenkins-Manager Plugins - 高级 。在上传插件中选择本地已下载的插件进行上传 。

  3. 安装完成后,重启Jenkins

  4. 选择Manager Jenkins-Configure Global Security-Role-Based Strategy 。

  5. 选择Manager Jenkins-Manage and Assign Roles。

  6. 往里面添加不同角色,勾选上Overall中的Read,若向看其他视图中的任务,也可以在Job上勾选上可读 。

  7. 接下来就是在Item roles中添加不同的角色,然后为每个角色中匹配对应的关键字 。如我创建test账号,只允许下面展示以test开头的任务,那么就在Pattern中输入test.* 。这样在这个视图下就会只展示test开始的任务。

  8. 接下来进行分配角色,同样是在Manage and Assign Roles下面点击Assign Roles.

  9. 设置Global roles 和Item roles中的角色账号 ,最后点击保存。

  10. 使用其中一个账号登录进去查看,查看任务的分类显示 。

有时候也有这样的需求,比如test用户只能看test视图,其它的视图也不允许看,该怎么弄呢 ?其实就是在上面的权限控制中将任务中的查看权限取消掉就可以了,最后登录进来就变成了这样的。

3.6 全局配置工具

全局配置工具主要是对一些常用的工具进行配置,这些常用工具包括Maven、JDK、Git、Grade、Ant。你如果没有为这些工具配置环境变量,这时如果在Jenkins里执行这些命令就会报错。所以,为了避免出错,可以为你所使用的工具进行配置。

3.6.1 配置Maven
  1. 下载Maven,将Maven放在一个目录下(以Windows为例)

  2. 在Jenkins中点击Manager Jenkins - Global Tool Configuration 进入。

  3. 配置Maven settings.xml文件 .

  4. 将滚动条拉倒底部,选在Maven安装,将Install automatically前的复选框取消 。

  5. 配置Maven的环境变量 ,然后点击保存。具体如下:

3.6.2 配置JDK
  1. 下载并安装JDK。

  2. 点击Manager Jenkins - Global Tool Configuration 进入。

  3. 滚动JDK配置界面,配置JDK的安装路径,点击保存。

3.6.3 配置git
  1. 下载并安装git。

  2. 点击Manager Jenkins - Global Tool Configuration 进入。

  3. 滚动git配置界面,配置git的安装路径,点击保存。

3.6.4 配置Gradle
  1. 下载并安装Gradle。

  2. 点击Manager Jenkins - Global Tool Configuration 进入。

  3. 滚动Gradle配置界面,配置Gradle的安装路径,点击保存。

3.6.5 配置Ant
  1. 下载并安装Ant。

  2. 点击Manager Jenkins - Global Tool Configuration 进入。

  3. 滚动Ant配置界面,配置Ant的安装路径,点击保存。

3.7 系统配置

3.7.1 配置环境变量

有时候,在控制台会输出的日志中会出现乱码,多是因为编码问题导致的,所以,我们需要通过配置一些环境变量,使其使用的编码一致。这样就可以避免这个问题 。具体如设置如下:

  1. 点击Manage Jenkins(系统管理) - Configure System(系统设置)

  2. 切换到全局属性,复选框选择Environment variables(环境变量)。添加两组键值对,分别是:

    java 复制代码
    JAVA_TOOL_OPTIONS=Dfile.encoding=UTF8
    LANG=zh_CN.UTF-8
  3. 重新启动Jenkins 。

3.7.2 配置邮件通知

在Jenkins构建完成后,经常会通过邮件将构建结果发给团队成员,那么,如何在Jenkins中设置邮件通知呢 ? 同样需要在系统设置中配置如下几个参数 ,具体如下:

  1. 点击Manage Jenkins(系统管理) - Configure System(系统设置)

  2. 切换到Jenkins Location ,配置系统管理员邮件地址,备注:这个邮件地址相当于后续的邮件发送者 。

  3. 接下来配置Extended E-mail Notification.

  4. 继续切换到邮件通知,继续配置相关信息 。

  5. 根据上一步的说明,我们要配置邮箱通知,需要配置登录邮箱和授权码,接下来说明如何配置授权码 。(以163.com),先登录163邮箱。

  6. 点击设置,然后再点击POP3/SMTP/IMAP .

  7. 选择开启服务POP3/SMTP服务 ,如图所示 。

  8. 以上配置成功后,接下来的步骤就是在Job中配置'构建后操作',选择Editable Email Notification.

  9. 配置内容参数 。

  10. 选择发送者列表 。

  11. 如果觉得发送到邮件中的内容格式不是很好看,也可以对邮件正文设置模板,设置邮件模板同时是在系统设置中,找到Default Content 。在里面添加你自己定义好的模板即可 。以下为参考示例

    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"> <div><h2>项目信息</h2> <ul><li>项目名称:${PROJECT_NAME}</li> <li>详细测试报告:<a href="${PROJECT_URL}HTML_20Report/">${PROJECT_URL}HTML_20Report/</a></li> <li>触发原因:${CAUSE}</li> <li>项目Url:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li> </ul> <hr/> <h2>构建日志</h2> <div>${JELLY_SCRIPT,template="html"}</div> <hr/> </div> </body> </html>

3.8凭据管理

凭据(credentials)是访问其他系统的认证信息,可以是账号/密码、SSH密钥、加密文件等,Jenkins可以通过设置的凭据与其它第三方应用进行认证,在可信与可控的范围内,完成第三方交互。

以下就是添加凭据的具体操作步骤:

  1. 点击Manage Jenkins(系统管理) - Manage Credentials(凭据管理)

  2. 选择Stores scoped to Jenkins,点击Jenkins 。进入后,再点击全局凭据 。

  3. 点击添加凭据,弹出的界面输入具体主机信息 。

  4. 添加后就可在凭据列表中查看到,具体如下:

添加后的凭据就可以在Job中或者作为代理主机进行使用了 。

3.9 节点管理

Jenkins支持分布式构建,可以让一套代码在不同的代理机上运行。最大的好处就是避免多任务运行时出现等待 。

这里代理其实就是节点,如果你想要添加一个节点,就可以按照如下操作进行:

  1. 点击Manage Jenkins(系统管理) - Manage Nodes and Clouds(节点管理)

  2. 点击'新建节点',输入节点对应的名称,选择Permanent Agent,点击确定。

  3. 进入节点配置详情,将其它信息配置完成 。

  4. 添加成功后,会在列表中出现一个节点,点击此节点 。

  5. 点击'启动代理',Jenkins就会自动连接上代理机后将代理程序拷贝该主机上,并自动启动此服务 。这样代理机就会跟Master主机建立了连接 。

  6. 启动过程中可以看到启动日志,启动成功后会显示代理机的主机资源信息。

相关推荐
Jason-河山2 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
海阔天空_20134 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能4 小时前
气爪在自动化装配线中是如何应用的?
运维·自动化
Tassel_YUE5 小时前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
测试杂货铺7 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
码农派大星。8 小时前
软件测试--BUG篇
功能测试·bug
测试界萧萧9 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
flashman91116 小时前
python在word中插入图片
python·microsoft·自动化·word
2401_857622661 天前
SpringBoot健身房管理:敏捷与自动化
spring boot·后端·自动化
力姆泰克1 天前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节