⭐安装java环境
官网下载: https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
🍁上传到对应目录
创建文件夹并进入文件
mkdir -p /usr/local/java
cd /usr/local/java
安装文件上传命令 并上传文件
rz
yum install lrzsz
🍁解压jdk
解压文件
tar -zxvf jdk-11.0.17_linux-x64_bin.tar.gz
一样没有就安装一下解压命令
yum install tar
🍁配置环境变量
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk-11.0.17
export PATH=${JAVA_HOME}/bin:$PATH
刷新环境变量
source /etc/profile
🍁检查是否安装成功
java -version
⭐安装maven
官网下载: https://maven.apache.org/download.cgi
🍁上传到对应目录
创建文件夹并进入文件
mkdir -p /usr/local/maven
cd /usr/local/maven
🍁解压
tar -zxvf apache-maven-3.9.3-bin.tar.gz
🍁配置环境变量
配置环境变量
vim /etc/profile
export M2_HOME=/usr/local/maven/apache-maven-3.9.3
export PATH=$M2_HOME/bin:$PATH
刷新环境变量
source /etc/profile
🍁检查是否安装成功
mvn -v
记得把自己setting文件替换上去
⭐安装git
yum install git
⭐安装jenkins
🍁导入镜像
yum -y install ca-certificates
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
🍁导入公钥
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
🍁查看Linux系统中是否安装了jenkins
rpm -qa | grep jenkins
若已经安装了,则需要使用命令
yum -y remove jenkins
进行卸载。若没有安装,则进行下一步。
🍁安装jenkins
yum install fontconfig java-11-openjdk
yum install jenkins
🍁修改插件下载地址
默认安装为该地址
cd /var/lib/jenkins/updates
🍁修改jenkins配置
需要修改的配置基本都是修改这两个配置文件即可
vim /etc/sysconfig/jenkins
vim /usr/lib/systemd/system/jenkins.service
记得重启
systemctl daemon-reload
systemctl restart jenkins
🍁设置Jenkins端口
vim /etc/sysconfig/jenkins
# 端口可以改成自己想要的
JENKINS_PORT="6666"
vim /etc/init.d/jenkins
# 路径后面一定跟启动路径/bin/java
candidates="/usr/local/java/jdk-11.0.17/bin/java"
-----------------------------------------------------------------------
vim /usr/lib/systemd/system/jenkins.service
# 添加
Environment="JENKINS_PORT=6666"
# vim /etc/systemd/system/jenkins.service.d/override.conf
Environment="JENKINS_PREFIX=/jenkins"
-----------------------------------------------------------------------
🍁设置Jenkins 内存大小
vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m"
vim /usr/lib/systemd/system/jenkins.service
Environment="JAVA_OPTS=-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m"
🍁设置 jenkins 使用root 权限
vim /etc/sysconfig/jenkins
#配置用户
$JENKINS_USER="root"
# 修改权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
vim /usr/lib/systemd/system/jenkins.service
#修改一下内容
JENKINS_USER="root"
JENKINS_GROUP="root"
# 重启
systemctl daemon-reload
systemctl restart jenkins
ps -ef | grep jenkins
这个显示root 才算成功
🍁设置 jenkins 工作目录
vim /usr/lib/systemd/system/jenkins.service
# 修改以下参数
Environment="JENKINS_HOME=/data/apps/jenkins"
vim /etc/sysconfig/jenkins
JENKINS_HOME="/data/apps/jenkins"
🍁Jenkins启动
# 启动jenkins
systemctl daemon-reload
systemctl start jenkins
# 查看jenkins启动状态
systemctl status jenkins
# 关闭jenkins
systemctl daemon-reload
systemctl stop jenkins
# 重启jenkins
systemctl daemon-reload
systemctl restart jenkins
# 设置成开机自启
#1、开启
systemctl enable jenkins
#2、关闭
systemctl disable jenkins
🍁Jenkins访问
# 查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
浏览器中登录网址:http://ip:8080/,输入刚刚获得的管理员密码,点击“继续”即可。
如果还访问不了看下是不是端口没有开放
# 返回no表示没有开放
firewall-cmd --query-port=6666/tcp
firewall-cmd --zone=public --add-port=6666/tcp --permanent
# 此时查询还是no,需要再重启防火墙
firewall-cmd --reload
⭐Jenkins错误排查
🍁 无法启动异常
systemctl restart jenkins
启动时发生异常该如何排查Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
🍁 按照步骤一步步排查
cd /etc/init.d/
./jenkins restart
看下控制台是否打印真正的错误,如果没有打印在执行下一步vim jenkins
找到start
的命令
- 把这些参数都打打印到控制台
$JENKINS_USER $JENKINS_PID_FILE $JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS $JENKINS_HOME $JENKINS_WAR $PARAMS
- 重启启动
./jenkins restart
可以看到控制打印各个参数所在位置 日志在/var/log/jenkins/jenkins.log
- 查看日志
tail -n 200 /var/log/jenkins/jenkins.log
可以看到是端口被占用了netstat -tlnp |grep 8080
查看端口占用
kill -9 xxx
杀死进程在重新启动就可以了
🍁当使用 systemctl restart jenkins 无法启动 Jenkins 服务,但是通过 ./jenkins restart 可以启动成功时
- 可能存在以下几种详细原因:
- 执行路径不一致:在执行命令
systemctl restart jenkins
时,系统会根据配置文件中指定的可执行文件路径来查找并执行。可能存在环境变量或配置问题导致系统无法正确找到 Jenkins 的可执行文件。而使用./jenkins restart
直接执行 Jenkins 启动脚本,则可以确保使用了正确的路径。- 环境变量问题:在
systemctl
命令中,有时需要明确地设置环境变量,以便 Jenkins 进程能够正常工作。这包括设置 Java 路径、Jenkins Home 目录等。如果没有正确地配置环境变量,可能会使得systemctl restart jenkins
失败。相比之下,直接执行./jenkins restart
可能继承了当前终端的环境变量,因此可以成功启动 Jenkins。- 用户权限问题:
systemctl restart
命令需要足够的权限来重新启动 Jenkins 服务。如果当前用户没有足够的权限,将无法执行该命令。一种解决方法是使用sudo systemctl restart jenkins
以提升权限。而直接执行./jenkins restart
时,可能已经具备了必要的权限。- 配置文件问题:
systemctl
命令使用 systemd 服务管理器来启动和管理服务。Jenkins 在 systemd 的配置文件中指定了启动脚本的路径、选项等信息。如果配置文件有误,比如路径错误或参数设置不正确,会导致systemctl restart jenkins
失败。而直接执行./jenkins restart
则跳过了 systemd 的配置,可能绕过了潜在的配置问题。- 需要注意的是,具体原因可能因系统环境和配置差异而有所变化。查看系统日志以获取更多详细信息,并检查 Jenkins 的配置文件和相关权限是否正确设置。你也可以尝试使用
sudo systemctl status jenkins
命令来查看 Jenkins 服务的状态和错误日志,以进一步排除问题。