持续集成工具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_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 。在里面添加你自己定义好的模板即可 。以下为参考示例

    <!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. 启动过程中可以看到启动日志,启动成功后会显示代理机的主机资源信息。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从物联网看智慧文旅的未来:技术与实践的完美结合,重塑旅游体验的新篇章

一、物联网技术&#xff1a;智慧文旅的基石 随着科技的飞速发展&#xff0c;物联网技术已经深入到我们生活的方方面面&#xff0c;尤其在智慧文旅领域&#xff0c;物联网技术更是起到了不可或缺的作用。它如同智慧文旅的基石&#xff0c;为旅游行业带来了前所未有的创新和变革…

VRRP6协议--负载均衡配置

VRRP6负载均衡 VRRP6负载均衡指的是创建多个备份组,多个备份组同时承担数据转发的任务,对于每一个备份组,都有自己的Master和若干Backup设备。 VRRP6负载分担与VRRP6主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP6备份组,都包含一个Master设备和若干Ba…

统计中集中趋势的衡量标准

一、说明 统计中的中心趋势是用于表示大量数值数据的中间值或中心值的数值。这些获得的数值在统计学中称为中心值或平均值。 任何统计数据或序列的中心值或平均值是代表整个数据或其相关频率分布的变量的值。这样的值具有重要意义&#xff0c;因为它描绘了整个数据的性质或特征…

针对特定领域较小的语言模型是否与较大的模型同样有效?

经过2023年的发展&#xff0c;大语言模型展示出了非常大的潜力&#xff0c;训练越来越大的模型成为有效性评估的一个关键指标&#xff0c;论文《A Comparative Analysis of Fine-Tuned LLMs and Few-Shot Learning of LLMs for Financial Sentiment Analysis》中&#xff0c;作…

阿里云 SAE 2.0 正式商用:极简易用、百毫秒弹性效率,降本 40%

作者&#xff1a;黛忻 本文主要介绍阿里云 Serverless 应用引擎&#xff08;以下简称 SAE &#xff09;如何帮助企业跨越技术鸿沟&#xff0c;从传统应用架构无感升级到 Serverless 架构&#xff0c;以更高效、更经济的方式进行转型&#xff0c;快速进入云原生快车道&#xff0…

【Android】TypedArray的使用

介绍 看电池电量组件BatteryMeterView的时候看到的。 Array是个数组&#xff0c;所有TypedArray也是个容器&#xff0c;基本是用于自定义View里面的&#xff08;至少我目前见过的全部都在自定义View里面&#xff09;。 使用 1.自定义View public class RoundSeekbarView e…

【深度学习】BasicSR训练过程记录,如何使用BasicSR训练GAN

文章目录 两种灵活的使用场景项目结构概览简化的使用方式 项目结构解读1. 代码的入口和训练的准备工作2. data和model的创建2.1 dataloader创建2.2 model的创建 3. 训练过程 动态实例化的历史演进1. If-else判断2. 动态实例化3. REGISTER注册机制 REGISTER注册机制的实现1. DAT…

嵌入式基础知识-测试基础概念

本篇来介绍嵌入式项目开发中&#xff0c;软件测试的相关基础知识。 1 测试基础知识 测试是指&#xff1a;在规定的条件下对程序进行操作&#xff0c;以发现错误&#xff0c;对软件质量进行评估 测试的对象包括程序、数据和文档 对于测试&#xff0c;并不是只有测试人员才需…

读AI3.0笔记04_视觉识别

1. 两次飞跃 1.1. ConvNets是当今计算机视觉领域深度学习革命的驱动力 1.1.1. 20世纪80年代便由法国计算机科学家杨立昆提出&#xff0c;而他则是受到了福岛邦彦提出的神经认知机&#xff08;Neocognitron&#xff09;的启发 1.2. ImageNet竞赛被看作计算机视觉和人工智能进…

Docker 配置 Gitea + Drone 搭建 CI/CD 平台

Docker 配置 Gitea Drone 搭建 CI/CD 平台 配置 Gitea 服务器来管理项目版本 本文的IP地址是为了方便理解随便打的&#xff0c;不要乱点 首先使用 docker 搭建 Gitea 服务器&#xff0c;用于管理代码版本&#xff0c;数据库选择mysql Gitea 服务器的 docker-compose.yml 配…

Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

以两数相加求和为例&#xff0c;在kubernetes集群拉取本地的镜像&#xff0c;实现如下效果&#xff1a; 1.实现两数相加求和 2.可以通过curl实时调用&#xff0c;参数以GET方式提供&#xff0c;并得到结果。&#xff08;类似调用函数&#xff09; 一、实现思路 需要准备如下的…

分布式websocket IM聊天系统相关问题问答【第九期】

前言 上期视频讲解了自己关于聊天系统的设计的时候出现了一些不一样的声音。不了解情况的可以看上上期视频。这期主要是讨论。IM聊天系统设计方案多。我的先说明一下自己的技术背景互相之间才能更好的理解。 本期对应视频 目前已经写的文章有。并且有对应视频版本。 git项目地…

FPGA中跨时钟域传数据——(1)单bit脉冲

FPGA中跨时钟域传数据——&#xff08;1&#xff09;单bit脉冲 亚稳态模型由快时钟传到慢时钟由慢时钟传到快时钟 亚稳态模型 必须在建立时间和保持时间内&#xff0c;数据不变化&#xff0c;否则会产生亚稳态。 由快时钟传到慢时钟 在快时钟里面进行数据展宽&#xff08;…

牛客周赛 Round 20 解题报告 | 珂学家 | 状压DP/矩阵幂优化 + 前缀和的前缀和

前言 整体评价 这场比赛很特别&#xff0c;是牛客周赛的第20场&#xff0c;后两题难度直线飙升了。 前四题相对简单&#xff0c;E题是道状压题&#xff0c;历来状压题都难&#xff0c;F题压轴难题了&#xff0c;感觉学到了不少。 A. 赝品 先求的最大值 然后统计非最大值的个…

位置无关码PIC详解:原理、动态链接库、代码重定位

静态链接库将代码和数据在编译时整合到可执行文件&#xff0c;使程序独立运行。动态链接库允许在程序运行时加载&#xff0c;而不是在编译时将库的代码和数据静态地合并到可执行文件中。这允许多个程序共享同一份库&#xff0c;减小程序体积。由于动态链接库在编译时并未确定其…

【Electron】Electron是什么

1. Electron是什么 Electron是使用JavaScript、HTML和CSS构建跨平台&#xff08;Windows、MacOs、Linux&#xff09;的桌面应用。Electron其实就是一个可以展示网页内容的壳子&#xff0c;相当于一个独立的浏览器&#xff0c;可以提供给你一些接口&#xff0c;去调用系统的资源…

微软 Power Apps model drven app 模型驱动应用使用Plugin插件实现业务流程跳转阶段功能

微软 Power Apps model drven app 模型驱动应用使用Plugin插件实现业务流程跳转阶段功能 模型驱动应用使用插件实现跳转业务流程阶段跳转功能 在实际操作中总会遇到使用业务流程的需求&#xff0c;那么如何使用plugin实现跳转阶段的功能呢 需求背景是主表上有业务流程&#x…

在Python环境中运行R语言的配环境实用教程

前情提要 在做一些生物信息与医学统计的工作&#xff0c;本来偷懒希望只靠python完成的&#xff0c;结果还是需要用R语言&#xff0c;倒腾了一会儿&#xff0c;调成功了&#xff0c;就记录一下这个过程。 我的环境&#xff1a; win10, pycharm, R-4.3.2 首先&#xff0c;我们…

Redis 面试题 | 05.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

muduo网络库剖析——线程Thread类

muduo网络库剖析——线程Thread类 前情从muduo到my_muduo 概要框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库&#xff0c;考虑的肯定是众多情况是否可以高效满足&#xff1b;而作为学习者&#xff0c;我们需要抽取其中的精…