Jenkins安装部署

一、Jenkins安装说明:

  官网:https://www.jenkins.io/zh/download/

  清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

  Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

  Jenkins是用Java开发的,安装Jenkins之前首先需要安装JDK

 二、安装Jenkins

  2-1、首先安装JDK

yum install java-1.8.0-openjdk* -y

  2-2、加载jenkins 8080端口到firewall防火墙规则中或关闭禁止firewall防火墙

  • 加载jenkins 8080端口firewall防火墙方法
firewall-cmd --permanent --add-port=8080/tcp

#重新加载防火墙配置
firewall-cmd --reload    
  • 关闭,禁止防火墙方法
systemctl disable firewalld
systemctl stop firewalld

  2-3、安装Jenkins

#安装Jenkins
cd /usr/local/src/

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.356-1.1.noarch.rpm

yum install jenkins-2.356-1.1.noarch.rpm -y

  • 因jenkins安装/var/lib/jenkins存储目录空间小需要删除,在创建一个软连接指定/var/lib/jenkins目录

  创建目录为/data/jenkins 在对/data/jenkins更改权限操作步骤如下

#没有启动jenkins这个目录是空的,不需要做备份
rm -fr /var/lib/jenkins/

创建其它目录,建立软连接
mkdir -p /data/jenkins

chown -R jenkins:jenkins /data/jenkins/

ln -s /data/jenkins/ /var/lib/jenkins
  • 启动jenkins
systemctl enable --now jenkins

  2-4、配置Jenkins

  • 访问自己宿主机IP地址

  注:/var/lib/jenkins/secrets/initialAdminPassword 里面的密码只会保存24小时,24小时候这个文件会删除 

  • 出现以下图点击选择插件来安装操作

 

  注:如果有推荐安装插件的界面,不要安装任何插件,因为默认是连接国外下载插件。安装很慢或者不能安装。

    插件地址修改为国内地址后在下载插件

 

  •  进入下面图后点击无把推荐的安装进行取消

 

 

 注: 后面根据安装步骤提示操作即可

 

  •  安装完成后的界面

 

 

持续集成环境(2)-Jenkins插件管理

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

接下来演示如何下载插件。

修改 Jenkins 插件下载地址

Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址。

  • 第一步:修改升级站点URL

Jenkins->Manage Jenkins->Manage Plugins,点击Advanced

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

 

  • 第二步:修改下载URL
cd /var/lib/jenkins/updates/
sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

#重启jenkins
systemctl restart jenkins

汉化 Jenkins

默认情况下,Jenkins是英文的,可以使用插件汉化 Jenkins。

Jenkins->Manage Jenkins->Manage Plugins,点击 Available

持续集成环境(3)-Jenkins用户权限管理

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

安装 Role-based Authorization Strategy 插件

Jenkins->Manage Jenkins->Manage Plugins,点击 Available

 

开启权限全局安全配置

Jenkins -> 全局安全配置

创建角色

Jenkisn -> Manage and Assign Roles

 

 

 

  1. Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
  2. Project roles(项目角色): 针对某个或者某些项目的角色
  3. Slave roles(奴隶角色):节点相关的权限(用的地方不多,暂且不予以深究)

我们姑且可以创建三个角色,分别是一个全局角色,两个项目角色。

  • base:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限

   注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission

  • role1:该角色为项目角色。使用正则表达式绑定”Python.*”,意思是只能操作Python开头的项目。
  • role2:该角色也为项目角色。绑定”Java.*”,意思是只能操作Java开头的项目。

 

 

创建用户

在系统管理页面进入管理用户

 

 

 

给用户分配角色

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

绑定规则如下:

  • user1用户分别绑定base和role1角色
  • user2用户分别绑定base和role2角色

 

 

 

 

创建项目测试权限

以admin管理员账户创建两个项目,分别为Python和Java。

 登录user1用户只看到`Python。登录user2用户亦然

 

 

持续集成环境(4)-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:通过上传证书文件的方式

 

安装Git插件和Git工具

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

注意:Jenkins 操作系统中必须安装 git,不然会报错

Git插件安装

 
  • 首先在Jenkins服务器上面创建ssh 秘钥
ssh-keygen -t rsa

注:秘钥创建后保存在/root/.ssh 目录下面  

  • 添加 SSH 类型的密钥
Jenkins –> 系统管理 –> Manage Credentials –> 全局 –> 添加凭证

 

 

 

  •  将公钥添加至 Gitlab 中
 

 

 打开GitLab所需下载的项目,找到下面SSH克隆地址

 

 

 

 

 出现如下图问题:

 

 解决方法:https://www.cnblogs.com/albert919/p/16972324.html 

 

 

 

 

 

 

 

 

 

posted @ 2023-02-21 22:12  点点滴滴的努力  阅读(248)  评论(0编辑  收藏  举报