技术博客 技术博客
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • Docker

    • Docker 概念、命令及Dockerfile介绍
    • Docker-Compose 命令及基本使用
    • Docker私有库的开发
  • Jenkins

    • Jenkins(一) 持续集成及Jenkins介绍
    • Jenkins(二) Jenkins安装和环境配置
    • Jenkins(三) Jenkins用户管理及凭证
      • 用户管理
        • 安装Role-based Authorization Strategy插件
        • 修改安全配置策略
        • 分配角色和用户
        • 建立项目
      • Jenkins凭证管理
        • 安装Credentials Binding插件
        • 安装Git插件和Git工具
        • 添加凭证(username & password)
        • SSH 密钥类型
    • Jenkins(四) Maven安装和配置
    • Jenkins(五) Jenkins构建Maven项目
    • Jenkins(六) Jenkins项目构建细节
    • Jenkins(七) Jenkins+Docker+SpringCloud微服务持续集成(上)
    • Jenkins(八) Jenkins+Docker+SpringCloud微服务持续集成(下)
  • Kubernetes

    • kubernetes(一) 概念及介绍
    • kubernetes(二) 集群环境搭建
    • kubernetes(三) 资源管理
    • kubernetes(四) Namespace、Pod、Lable、Deployment、Service 的资源介绍
    • kubernetes(五) Pod 介绍及配置
    • kubernetes(六) Pod 生命周期
    • kubernetes(七) Pod 调度
    • kubernetes(八) Pod 控制器详解
    • kubernetes(九) Service介绍、类型及使用
    • kubernetes(十) Ingress介绍及使用
    • kubernetes(十一) 数据存储(挂载卷管理)
    • kubernetes(十二) 安全认证
    • kubernetes(十三) DashBoard
  • linux

    • linux 创建用户及权限操作
    • Linux 磁盘操作相关命令
    • Linux 文本数据处理工具awk命令
    • Linux 定时任务
    • Linux 命令总结
    • Linux 22端口对外攻击解决
目录

Jenkins(三) Jenkins用户管理及凭证

# 用户管理

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

# 安装 Role-based Authorization Strategy 插件

# 修改安全配置策略

# 分配角色和用户

Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
Item roles(项目角色):针对某个或者某些项目的角色
Node roles(节点角色):节点相关的权限

我们添加以下三个角色:

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

在系统管理页面进入 Manage Users

给用户分配角色
系统管理页面进入 Manage and Assign Roles,点击 Assign Roles
绑定规则如下:
root1 用户分别绑定 baseRole 和 role1 角色
root2 用户分别绑定 baseRole 和 role2 角色

# 建立项目

# Jenkins 凭证管理

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

# 安装 Credentials Binding 插件

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

  • 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 工具。

在 centos 上安装 git 工具

# 安装
yum install git -y 
# 安装后查看版本
git --version 
1
2
3
4

# 添加凭证(username & password)

把你在 git 上的账号密码加入到凭证中。

回到我们在 jenkins 的项目中,来配置这个项目。

应用,然后保存。保存后我们构建这个项目

构建成功后,可以看到 jenkins 会把项目在服务器中的 /var/lib/jenkins/workspace/test01 路径构建一个项目,通过这种方式代表我们配置 git 的凭证是成功的。

# SSH 密钥类型

SSH 免密登录示意图

1. 使用 root 用户生成公钥和私钥

ssh-keygen -t rsa
1

在 /root/.ssh/ 目录保存了公钥和使用

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

2. 把生成的公钥的内容放在 Gitlab 中,我的是 Gitea

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

这个 root,是你在 服务器,root 目录下生成的,所以填写 root,最后依然是在项目中配置一下 git 即可

上次更新: 6/11/2025, 4:10:30 PM
Jenkins(二) Jenkins安装和环境配置
Jenkins(四) Maven安装和配置

← Jenkins(二) Jenkins安装和环境配置 Jenkins(四) Maven安装和配置→

Theme by Vdoing | Copyright © 2023-2025
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式