前言
最近一年轉(zhuǎn)戰(zhàn)Java后端遇到各種問題java相關(guān)問題都以通過百度,學習,自學在一兩天內(nèi)解決.第一次安裝部署jenkins竟然遇到多個問題且不知如何解決,下面就一一闡述,以做參考
1.安裝Jenkins問題
首先在網(wǎng)上找了多個教程各種方式安裝包括(yum -y install jenkins,rpm -ivh jenkins.rpm,java -jar jenkins.war)都會報同一錯誤即 ''jeknins啟動失敗,請使用命令查看日志",
在網(wǎng)上搜索后一頓操作包括到
① /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環(huán)境配置的問題,實際在安裝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環(huán)境是缺少該包的
java-1.8.0-openjdk-devel.i686
雖然在網(wǎng)上搜索也沒找到為什么,畢竟才步入這門語言吧. 但是安裝完之后確實就可以正常啟動了!!!!
2.部署時遇到的問題
部署使用的是Publish over SSH插件 嗐~~~圖片傳不上來將就看吧!
這里需要特別說明下
系統(tǒng)配置中找到 SSH Servers
配置 服務器的賬號密碼,指定路徑掷漱。
指定(Remote Directory)上傳路徑時盡量使用"/",這也就會指向服務器的根目錄,利于后面的配置~
在構(gòu)建的配置時:
source文件的配置一定要注意是Jenkins工作區(qū)的相對路徑!
這里的(Remote Directory)路勁就是打包后的部署路徑了,與前面的上傳路勁相連就是全路徑.
注:
如果打包能夠成功但是在部署路徑?jīng)]有找到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