2、jenkins 基本操作及用户权限分配

一、操作本机Shell命令

Linux使用命令生成公私钥:ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub 127.0.0.1

1、使用简单列表创建一个视图
在这里插入图片描述

在这里插入图片描述

2、在这个视图里创建一个任务项目,类型选择Freestyle project(自由风格项目)
在这里插入图片描述

3、在项目的构建步骤中选择 Execute shell ,输入要执行的shell命令
在这里插入图片描述
4、保存后执行构建
在这里插入图片描述
5、查看此次构建的信息,点击控制台输出,可以看到执行的结果
在这里插入图片描述
在这里插入图片描述

二、Jenkins通过ssh管理服务器(Publish over SSH)

1、先将公钥发送到要管理的机器

ssh-copy-id -i /root/.ssh/id_rsa.pub  10.0.0.105
ssh-copy-id -i /root/.ssh/id_rsa.pub  10.0.0.106

2、部署前需要先添加ssh服务器
系统管理 -> 系统设置 -> 添加SSH服务器,如果没有的话装下Publish over SSH这个插件

将要管理的机器添加,本地的私钥地址为/root/.ssh/id_rsa,登陆用户为root,远程的执行目录为/tmp/下
在这里插入图片描述

默认使用的密钥登陆,也可以使用密码,在高级里可以选择使用密码,需要将选项打勾,下方输入密码
在这里插入图片描述

3、在这个视图里创建一个任务项目,名称为sshhello,类型选择Freestyle project(自由风格项目),然后增加构建步骤,选择
Send files or execute commands over SSH这个构建类型
在这里插入图片描述
将刚才设置的两台ssh机器都选上,执行命令为ifconfig,然后保存
在这里插入图片描述
4、然后执行构建这个任务项目,控制台输出可以看到有执行结果
在这里插入图片描述
在这里插入图片描述
5、Publish Over Ssh部署的优点缺点

  • 服务器数量少的,使用ssh管理方便
  • 对于服务器数量过多时,配置繁琐: 添加ssh服务器繁琐,添加项目指定服务器繁琐

三、jenkins权限管理

1、Jenkins默认安全权限:登录用户可以做任何事情
默认是登录用户可以做任何事,密码复杂度一定要高
无法做到:控制项目只读
在这里插入图片描述

2、Jenkins的安全矩阵设置

  • 可针对用户配置只读权限
  • 无法做到:控制某个项目只读,只能设置所有项目

在jenkins管理中选择管理用户
在这里插入图片描述
在这里插入图片描述

然后在安装设置里,设置授权策略,为wangxiaoyu这个设置一个读权限
在这里插入图片描述
overall和job都设置读权限,添加的Overall的read权限原因:如果不添加的话,这些普通用户登录到jenkins则会提示:用户没有Overall/read权限(用户无法登陆)
在这里插入图片描述

然后用这个账号登陆,只有看的权限
在这里插入图片描述

3、Jenkins的项目矩阵授权策略

  • 安全权限可细化到每个项目
  • 管理方面:不好管理,因为得每个项目去配置,不能针对某一类项目统一配置

在安全设置里授权策略选择项目矩阵授权策略,overall选择read权限,其他的不设置,到项目中再设置
在这里插入图片描述
选择前面的shelltest这个job,然后给wangxiaoyu这个用户设置读权限
在这里插入图片描述
然后用wangxiaoyu用户登录可以看到只有这个项目的读权限了
在这里插入图片描述

4、Jenkins安全之基于角色的权限管理

  • 权限控制可以细化到项目
  • 能批量设置项目权限

默认权限

  • admin拥有所有权限
  • 其它用户无权限

(1)基于角色的权限管理需要安装插件:Role-based Authorization Strategy

在这里插入图片描述
(2) 启动Jenkins的角色管理,在安全设置授权策略中选择基于角色(Role-Based Strategy)的设置

在这里插入图片描述

(3)在jenkins设置的最下面,有Manage and Assign Roles这个设置
在这里插入图片描述
在这里插入图片描述
(4)选择管理角色,可以看到 默认有admin这个角色,拥有全部的权限。
在这里插入图片描述
(5)这个时候如果用其他用户是没有任何权限的
在这里插入图片描述
(6)首先在管理角色里,设置一些角色权限,这里的角色其实就是设置好的一个权限,需要分配给响应的用户才能生效。
在这里插入图片描述
设置一个全局的权限,名称为deploy,然后再设置项目的权限,可以正则匹配多个项目,我这里为前面的shelltest和sshhello两个项目都设置了一个角色权限
在这里插入图片描述

(7)然后分配角色,也就是将上面创建的角色权限分配给用户
在这里插入图片描述
给wangxiaoyu这个用户分配全局的deploy这个角色权限,已经shelltest这个项目的权限
在这里插入图片描述
(8)使用wangxiaoyu这个用户登录后,可以看到只能看到shelltest这个项目,因为前面只给了这个项目的权限,然后点进去有分配的构建等权限
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins用户权限可以通过给不同的用户配置不同的权限来实现。在Jenkins项目中,可以通过添加用户并对其进行权限设置来实现用户权限的管理。\[1\]可以在"User/group to add"中添加用户,并在全局角色和项目角色中进行权限设定。如果一个用户同时绑定了全局角色和项目角色,那么项目角色中的Job设定将覆盖全局角色中的Job设定。\[2\]在授权模型中,可以通过一个大的表格来配置用户可以做什么事情。每一列代表一个权限,每一行代表一个用户或组。可以使用表格下方的输入框来添加新的用户/组/角色,并可以点击\[x\]图标将其从表格中删除。\[3\]通过这种方式,可以灵活地管理Jenkins用户的权限。 #### 引用[.reference_title] - *1* *3* [【Jenkins用户权限介绍](https://blog.csdn.net/R_s_x/article/details/79653883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Jenkins】设定用户权限](https://blog.csdn.net/qq_35472206/article/details/126100548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值