前言
最近一年转战Java后端遇到各种问题java相关问题都以通过百度,学习,自学在一两天内解决.第一次安装部署jenkins竟然遇到多个问题且不知如何解决,下面就一一阐述,以做参考
1.安装Jenkins问题
首先在网上找了多个教程各种方式安装包括(yum -y install jenkins,rpm -ivh jenkins.rpm,java -jar jenkins.war)都会报同一错误即 ''jeknins启动失败,请使用命令查看日志",
在网上搜索后一顿操作包括到
① /etc/init.d/jenkins修改配置文件
d by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
②修改/usr/lib/systemd/system/jenkins.service的端口号
# Port to listen on for HTTP requests. Set to -1 to disable.
# To be able to listen on privileged ports (port numbers less than 1024),
# add the CAP_NET_BIND_SERVICE capability to the AmbientCapabilities
# directive below.
Environment="JENKINS_PORT=8080"
最终都未能成功,无法启动的原因竟是因为java环境配置的问题,实际在安装jenkins时检查了java没有问题
使用命令是:
java --version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
这证明没有什么问题啊!但实际上jdk环境是缺少该包的
java-1.8.0-openjdk-devel.i686
虽然在网上搜索也没找到为什么,毕竟才步入这门语言吧. 但是安装完之后确实就可以正常启动了!!!!
2.部署时遇到的问题
部署使用的是Publish over SSH插件 嗐~~~图片传不上来将就看吧!
这里需要特别说明下
系统配置中找到 SSH Servers
配置 服务器的账号密码,指定路径。
指定(Remote Directory)上传路径时尽量使用"/",这也就会指向服务器的根目录,利于后面的配置~
在构建的配置时:
source文件的配置一定要注意是Jenkins工作区的相对路径!
这里的(Remote Directory)路劲就是打包后的部署路径了,与前面的上传路劲相连就是全路径.
注:
如果打包能够成功但是在部署路径没有找到jar包基本问题就是一开始的source文件配置有问题!
打包的脚本:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
project=health-user-api-1.0.jar
JARFILE=health-user-api-1.0.jar
echo "prepare to deploy health-user-api"
pid `ps -ef |grep $JARFILE |grep -v grep| grep 'java' |awk '{print $2}'`
if [[ $pid ]]; then
echo "$JARFILE is running and pid is $pid"
sudo kill -9 $pid
if [[ $? -eq 0 ]];then
echo "sucess to stop $JARFILE"
else
echo "fail to stop $JARFILE"
fi
fi
echo "start to deploy health-user-api-1.0.jar"
cd /var/lib/jenkins/workspace/huser/health-user-api/target/
nohup java -jar /var/lib/jenkins/workspace/huser/health-user-api/target/health-user-api-1.0.jar --spring.profiles.active=dev --server.port=8081 >/dev/null 2>&1 &
参考链接 [jenkins 链接linux服务器 插件Publish over SSH使用(三)]https://www.cnblogs.com/TestingShare/p/15508313.html
附: jenkins目前的新版本都不再支持jdk8 了,但是很多程序员采用的jdk版本还是jdk8,所以可以在linux下安装多个版本,使用 "alternatives"切换版本
alternatives --
具体的使用方式可以参考这篇文章
http://www.taodudu.cc/news/show-1657382.html?action=onClick