最近准备将我的项目通过CI/CD工具自动化部署,在我的服务器上先安装个最新版的jenkins玩玩,踩点小坑,这里记录一下
系统环境
- 系统:Centos 7
- 准备安装的Jenkins版本:2.479.1
- 准备安装的Java版本:17.0.2
用到的链接
- Jenkins官网:https://www.jenkins.io/doc/book/installing/linux/
- OpenJDK官网:https://jdk.java.net/archive/
安装流程
首先准备要搞得一个新项目,最根本的方法还是去看官方文档,点击上面的官网链接(刚好是Linux版本安装文档),里面版本对应等等都描述的很清楚了,可以减少踩坑几率。
按照文档说法,我要安装目前较新的版本,我需要最低JAVA 17
版本, 所以我需要先去搞定java,这一步还是比较简单的
java安装
由于我配置的几个yum源都没有找到合适的java包,所以我先不折腾yum安装。我选择直接去openjdk官网下载
复制下载地址
# 进入自己服务器常用的下载包目录
cd /usr/local/src/
# 下载包
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
# 解压包
tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz
# 查看下载的java目录结构
ll ./jdk-17.0.2
#total 28
#drwxr-xr-x 2 root root 4096 Nov 4 16:09 bin
#drwxr-xr-x 5 root root 4096 Nov 4 16:09 conf
#drwxr-xr-x 3 root root 4096 Nov 4 16:09 include
#drwxr-xr-x 2 root root 4096 Nov 4 16:09 jmods
#drwxr-xr-x 72 root root 4096 Nov 4 16:09 legal
#drwxr-xr-x 5 root root 4096 Nov 4 16:10 lib
#-rw-r--r-- 1 10668 10668 1209 Dec 8 2021 release# 复制java和javac到/usr/bin/目录
cp ./jdk-17.0.2/bin/java /usr/bin/java
cp ./jdk-17.0.2/bin/javac /usr/bin/javac# 配置环境变量
vim /etc/profile
# 添加下面两行
export JAVA_HOME=/usr/local/src/jdk-17.0.2
export PATH=$JAVA_HOME/bin:$PATH
# 保存退出后重载配置
source /etc/profile
# 这时候可以使用命令查看java版本,一般能输出正常版本
java --version
这里有坑
坑来了
这时候使用java --version
能正常显示版本号没错,这时候我误认为java已经正确安装了,知道之后Jenkins的各种报错才知道,现在系统中的java依旧不完整,【执行java
命令会报错/usr/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
】为了防止之后的问题,现在还需要对一些so包目录进行配置
其实这时候我们OpenJDK下载的JDK有完整的so包,只是没有引用,也就是我们的jdk配置的还不够完整,其实就是这么简单的一个问题
# 进入jdk目录,搜索so包目录
find ./ -name *.so
# 到这步会发现lib目录下存在所需so包,接下来需要配置这个目录的环境变量
vim /etc/ld.so.conf
# 在文件末尾添加jdk包下lib目录的完整地址,例如
/usr/local/src/jdk-17.0.2/lib
# 保存退出后重载配置
ldconfig
这时候在执行java命令应该就不会报so包找不到的错误了,也可以继续正确的启动jenkins
jenkins安装
这里基本参照官网,也就是上面的链接,区别就是我是使用openjdk下载的jdk包,官网是推荐使用yum安装。
# 以下是官网推荐的centos安装方法,如果按上面的步骤已经安装了jdk,那么下面安装jdk的步骤可以省略
sudo wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key
sudo dnf upgrade
# Add required dependencies for the jenkins package
sudo dnf install fontconfig java-17-openjdk
sudo dnf install jenkins
启动jenkins
设置开机自启动
sudo systemctl enable jenkins
启动jenkins
sudo systemctl enable jenkins
查看jenkins启动状态
sudo systemctl status jenkins
以下文件可以对jenkins做一些基础配置
/usr/lib/systemd/system/jenkins.service
没啥问题到这里安装就结束了,后续更新jenkins的配置使用之类的内容
更好的浏览体验请访问我的个人网站Simplespace.site,目前仅支持PC的web端