前段时间双11买了腾讯云的轻量服务器玩,顺便研究下前端ci/cd的搭建,安装到jenkins的时候碰到一些问题记录下来,安装成功后把正确的流程分享给前端的同学。
腾讯云轻量服务器系统: CentOS 7.6
安装前建议先阅读官方安装文档:
pkg.jenkins.io/redhat-stab…
一. 安装 OpenJDK
因为 Jenkins 是 Java 编写的持续构建平台,所以需要先安装 Java
安装前我们根据官方文档确认java和jenkins的版本,一定要对应后否则后面跑不起来
注意:jenkins的很多插件都对版本有要求,最好选择新版本的避免后面切换版本,如果是因为java版本过低不能升级,后面也可以去jenkins插件管理中心下载对应版本的插件
我这里安装的版本:
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 仓库
- 首先我们要添加 Jenkins 的官方软件仓库,并导入其 GPG 密钥,以便能够通过
yum或dnf包管理器安装和更新 Jenkins - 然后导入 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…
下载完了我们执行安装命令,安装成功安装可以看到
- 启动 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
我这里使用的是腾讯云服务器,在线上更改防火墙配置
- 服务启动后,访问
IP:8080。如果能够看到以下界面,代表启动成功
Jenkins运行起来后需要查看下初始化登录密码,在日志文件中搜索包含initialAdminPassword的行
cat /var/lib/jenkins/secrets/initialAdminPassword // 查看密码
到此为止我们的 jenkins 就已经安装成功啦 🎉🎉🎉
插件源更换
由于jenkins 插件服务器在国外网速不是很好我们可以先更换下插件源
这个文件是 Jenkins 用于存储更新中心配置的 JSON 文件,它包含了插件源的 URL 和其他相关信息
位置在/var/lib/jenkins/updates/default.json 我们用vim打开 default.json 文件,查看其内容
sudo nano /var/lib/jenkins/updates/default.json
也可以下载下来用编辑器打开,下载后手动对插件源地址url进行替换
"url": "https://updates.jenkins.io/update-center.json"
修改完了再上传回去