NWNU-Sun | 技术沉思录

代码是诗,bug是谜

   ::  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  77 随笔 :: 49 文章 :: 6 评论 :: 40763 阅读

1. jenkins的插件管理

​ Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。

1.修改Jenkins插件下载地址

之前的jenkins安装篇已经配置过镜像地址

2.下载中文汉化插件

​ Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"

image-20211203143137904

重启Jenkins后,就看到Jenkins汉化了!(PS:但可能部分菜单汉化会失败)

3.重启方式为浏览器输入

http:192.168.2.239:8080/restart

2. Jenkins用户权限管理

​ 我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限

安装Role-based Authorization Strategy插件。

image-20211203143441983

开启权限全局安全配置

image-20211203143552409

image-20211203143706591

创建角色

在系统管理页面进入 Manage and Assign Roles

image-20211203143811201

点击"Manage Roles"

image-20211203143836063

image-20211203144112162

Global roles(全局角色):

​ 管理员等高级用户可以创建基于全局的角色

Project roles(项目角色):

​ 针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限

我们添加以下三个角色:
baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
role1:该角色为项目角色。使用正则表达式绑定"nwnu.",意思是只能操作nwnu开头的项目。role2:该角色也为项目角色。绑定"ifnwnu.",意思是只能操作fnwnu开头的项目。

创建后保存。

创建用户

​ 在系统管理页面进入 Manage Users

image-20211203144438243

如何创建新用户如下

image-20211203144514881

给用户分配角色

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

绑定规则如下:

sun1用户分别绑定baseRole和role1角色

sun2用户分别绑定baseRole和role2角色

image-20211203144623987

分配角色

image-20211203144647292

image-20211203144705092

创建项目测试权限

​ 以root管理员账户创建两个项目,分别为nwnu2project和nwnuproject

image-20211203144808824

结果为:

sun1用户登录,只能看到nwnu2peoject项目

sun2用户登录,只能看到nwnuproject项目

3. Jenkins凭证管理

​ 凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。

安装Credentials Binding插件

​ 要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件

安装完成后如下图。

image-20211203145114141

image-20211203145206242

image-20211203145230665

可以添加的凭证有5种

  • Username with password:用户名和密码
  • SSH Username with private key: 使用SSH用户和密钥
  • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
  • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token Certificate:通过上传证书文件的方式
常用的凭证类型有
  • Username with password(用户密码)
  • SSH Username with private key(SSH密钥)

​ 接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。 安装Git插件和Git工具
为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

centos7安装git

yum -y install git

用户密码类型

1) 创建凭证

Jenkins->凭证->系统->全局凭证->添加凭证

image-20211203145532355

选择"Username with password",输入Gitlab的用户名和密码,点击"确定"。

image-20211203145555548

2)测试凭证是否可用
创建一个FreeStyle项目:新建Item->FreeStyle Project->确定

找到"源码管理"->"Git",在Repository URL复制Gitlab中的项目URL

image-20211203145653056

3)保存配置后,点击构建”Build Now“ 开始构建项目。

image-20211203145733813

image-20211203145753364

4)查看/var/lib/jenkins/workspace/目录,发现已经从Gitlab成功拉取了代码到Jenkins中。

image-20211203145834425

SSH密钥类型

SSH免密登录示意图

image-20211203145923728

1)使用root用户生成公钥和私钥ssh-keygen -t rsa
在/root/.ssh/目录保存了公钥和使用

id_rsa:私钥文件 id_rsa.pub:公钥文件

2)把生成的公钥放在Gitlab中
以root账户登录->点击头像->Settings->SSH Keys
复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"

image-20211203150101084

3)在Jenkins中添加凭证,配置私钥
在Jenkins添加一个新的凭证,类型为"SSH Username with private key",把刚才生成私有文件内容复制过来

image-20211203150145617

image-20211203150157545

4)测试凭证是否可用
新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证

image-20211203150232570

同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!

posted on   匿名者nwnu  阅读(122)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示