CentOS安装jenkins
jenkins适配的jdk版本是17和11
第一步:安装jdk11
(1)在oracle下载jdk11 jdk-11.0.16.1_linux-x64_bin.tar,放到非root用户的家目录下
(2)解压,tar -zxvf jdk-11.0.16.1_linux-x64_bin.tar.gz
(3)配置环境变量 .bash_profile
export JAVA_HOME=/home/ljs/software/jdk11/jdk-11.0.16.1
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:$JAVA_HOME/jre/bin
(4) source .bash_profile, 如果source没用,重启Linux
(5)使用java -version查看java版本
第二步。安装jenkins
按照jenkins官网的介绍,安装jenkins
https://www.jenkins.io/doc/book/installing/linux/
第三步:启动jenkins
启动jenkins有两种方式:
systemctl start jenkins
或者
cd /ect/init.d/
./jenkins start
注意:这两种启动方式,启动时的配置不一样,systemctl start jenkins启动时的配置在/usr/lib/systemd/system下的jenkins
而./jenkins start的启动配置文件在/etc/init.d下的jenkins
启动失败问题排查
./jenkins start启动失败问题排查
使用以下命令启动jenkins时:
[root@centos01 ljs]# cd /etc/init.d/
[root@centos01 init.d]#
[root@centos01 init.d]# ./jenkins start
(1)
Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
查看/ect/init.d的jenkins文件发现,使用的java路径,没有自己配置的jdk11的路径,在这后面添加jdk11的路径,或者ln创建一个软连接
[root@centos01 init.d]# ln -s /home/ljs/software/jdk11/jdk-11.0.16.1/bin/java /usr/bin/java
(2)再次执行提示
Starting Jenkins bash: /usr/bin/java: 权限不够
将jdk11/jdk-11.0.16.1/bin/java的文件的other的权限设置为rwx,再次执行还是这个问题
(3)将jenkins系统的用户修改为ljs
jenkins安装完成后,查看/ect/passwd可以看到有一个jenkins的用户,修改/ect/init.d/jenkins文件
修改jenkins的user和port
查看/ect/init.d/jenkins文件,它是从/ect/sysconfig/jenkins中读取配置的
# Read config
[ -f "$JENKINS_CONFIG" ] && . "$JENKINS_CONFIG"
# Set up environment accordingly to the configuration settings
[ -n "$JENKINS_HOME" ] || {
echo "JENKINS_HOME not configured in $JENKINS_CONFIG"
if [ "$1" = "stop" ]; then
exit 0
else
exit 6
fi
}
[ -d "$JENKINS_HOME" ] || {
echo "JENKINS_HOME directory does not exist: $JENKINS_HOME"
if [ "$1" = "stop" ]; then
exit 0
else
exit 1
fi
修改/ect/sysconfig/jenkins的user和port
JENKINS_PORT=“8089”
JENKINS_USER=“ljs”
修改完user后再次运行
(4)再次运行提示:/var/log/jenkins/jenkins.log (权限不够)
问题是将/var/log/jenkins/jenkins.log的权限修改为777还是不行(不知道为啥不行),最后只能修改文件的owner和所属组
chown -R ljs:ljs /var/lib/jenkins/
chown -R ljs:ljs /var/cache/jenkins/
chown -R ljs:ljs /etc/sysconfig/jenkins
(5)再次启动
再次使用./jenkins start启动成功,但是使用systemctl start jenkins还是失败
systemctl start jenkins
以这种方式启动jenkins还是失败,具体原因可以使用journalctl -xe,注意按b进行翻页
以为已经修改了jenkins的user和jdk路径,但是还不行
查看/usr/lib/systemd/system/jenkins.service文件
systemctl这种启动方式,启动的配置文件在/usr/lib/systemd/system
cat /usr/lib/systemd/system/jenkins.service
执行的文件是在ExecStart=/usr/bin/jenkins下
需要修改user以及java路径
修改完成后需要
systemctl daemon-reload
再次启动,成功
总结
如果启动失败,可以查看该shell文件内容,看看涉及到哪些配置文件,然后再更改