腾讯云服务器系统CentOS安装jenkins

405 阅读4分钟

前段时间双11买了腾讯云的轻量服务器玩,顺便研究下前端ci/cd的搭建,安装到jenkins的时候碰到一些问题记录下来,安装成功后把正确的流程分享给前端的同学。

腾讯云轻量服务器系统: CentOS 7.6
安装前建议先阅读官方安装文档: pkg.jenkins.io/redhat-stab…

一. 安装 OpenJDK

因为 Jenkins 是 Java 编写的持续构建平台,所以需要先安装 Java
安装前我们根据官方文档确认java和jenkins的版本,一定要对应后否则后面跑不起来
注意:jenkins的很多插件都对版本有要求,最好选择新版本的避免后面切换版本,如果是因为java版本过低不能升级,后面也可以去jenkins插件管理中心下载对应版本的插件 image.png 我这里安装的版本:
java-11-openjdk jenkins-2.426.2-1.1.noarch.rpm
首先,使用 yum 命令安装 OpenJDK 11,然后查看java的版本

sudo yum -y install fontconfig java-11-openjdk // 安装
java -version // 然后查看java的版本

安装完,查看当前使用的版本输出以下内容安装成功

openjdk version "11.0.23" 2024-04-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS, mixed mode, sharing)

如果说你之前已经安装过java,可能默认使用的不是java-11-openjdk,这里我们可以切换版本

sudo alternatives --display java // 查看当前的 Java 版本配置
sudo alternatives --config java // 列出所有可用的 Java 版本,并让你选择一个作为默认版本。选择相应的编号(通常是与 OpenJDK 11 对应的编号)并按 `Enter` 键。

设置 JAVA_HOME 环境变量,这里可能每个人的路径不一样,大家可以自行查看自己openjdk的文件位置

sudo vim /etc/profile  // #### 编辑全局配置文件
// 在文件末尾添加以下两行
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-2.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile // 使配置生效
echo $JAVA_HOME // 查看配置

二. 使用 Yum 安装 Jenkins

添加 Jenkins 仓库

  1. 首先我们要添加 Jenkins 的官方软件仓库,并导入其 GPG 密钥,以便能够通过 yumdnf 包管理器安装和更新 Jenkins
  2. 然后导入 GPG 密钥:通过导入 Jenkins 的 GPG 密钥,确保从该仓库下载的软件包是安全的,未被篡改
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo  
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

3. 编辑或创建 /etc/yum.repos.d/jenkins.repo 文件

sudo nano /etc/yum.repos.d/jenkins.repo
// 在文件中添加以下内容
[jenkins]  
name=Jenkins-stable  
baseurl=https://pkg.jenkins.io/redhat-stable  
gpgcheck=1  
enabled=1  
gpgkey=https://pkg.jenkins.io/redhat-stable/jenkins.io.key

4. 从官网上查看java对应的 Jenkins的版本确认后,从 Jenkins 的仓库下载特定版本的 RPM 包。使用 yum 命令来安装指定版本的 jenkins-2.426.2-1.1

sudo yum install jenkins-2.426.2-1.1 -y

5. 如果 yum 无法找到该版本,你可以尝试手动下载 RPM 包并安装

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.426.2-1.1.noarch.rpm // 下载 RPM 包
sudo yum install jenkins-2.426.2-1.1.noarch.rpm -y //安装

或者是用清华大学的镜像源下载
mirrors.tuna.tsinghua.edu.cn/jenkins/red… image.png 下载完了我们执行安装命令,安装成功安装可以看到 image.png

  1. 启动 Jenkins 服务并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins // 设置开机自启
sudo systemctl status jenkins // 检查 Jenkins 服务是否正常运行

这里如果碰到启动失败,可以查看配置文件,确保 Jenkins 使用的是 Java 11
编辑 /etc/sysconfig/jenkins 文件(对于 CentOS/RHEL 系统):

sudo vim /etc/sysconfig/jenkins

在文件中添加或修改以下行,以确保 Jenkins 使用 OpenJDK 11:

# 改为root权限
JENKINS_USER="root"
# The user and group the Jenkins process should run as 
JENKINS_USER="jenkins" 
JENKINS_GROUP="jenkins"
# The Java options to pass to the Jenkins JVM 
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-2.el7_9.x86_64" JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx256m"

8. 检查防火墙设置,在启动 Jenkins 后,此时 Jenkins 会开启它的默认端口 8080 。但由于防火墙限制,我们需要手动让防火墙放行 8080 端口才能对外访问到界面

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent  
sudo firewall-cmd --reload

我这里使用的是腾讯云服务器,在线上更改防火墙配置 image.png

  1. 服务启动后,访问 IP:8080 。如果能够看到以下界面,代表启动成功

image.png

  1. Jenkins运行起来后需要查看下初始化登录密码,在日志文件中搜索包含 initialAdminPassword 的行
cat /var/lib/jenkins/secrets/initialAdminPassword // 查看密码

image.png

到此为止我们的 jenkins 就已经安装成功啦 🎉🎉🎉
插件源更换

由于jenkins 插件服务器在国外网速不是很好我们可以先更换下插件源
这个文件是 Jenkins 用于存储更新中心配置的 JSON 文件,它包含了插件源的 URL 和其他相关信息
位置在/var/lib/jenkins/updates/default.json 我们用vim打开 default.json 文件,查看其内容

sudo nano /var/lib/jenkins/updates/default.json

也可以下载下来用编辑器打开,下载后手动对插件源地址url进行替换 image.png

"url": "https://updates.jenkins.io/update-center.json"

修改完了再上传回去 image.png