1 Linux安裝jdk1.8、配置環境變量(必須)
1.1 下載jdk1.8
Oracle官網下載地址:jdk下載
選擇Linux版本的tar壓縮包下載:
1.2 安裝jdk1.8
① 將下載后的tar文件放在/usr/java目錄下(根據自己喜歡)
② 進到剛才放的tar文件所在的目錄
cd /usr/java
③ 解壓jdk壓縮文件
tar -zxvf jdk-8u261-linux-x64.tar.gz
1.3 配置環境變量
① 編輯環境變量文件profile
vim /etc/profile
vim詳解:點擊 i 進入編輯模式即可編輯文本,編輯完之后Esc退出編輯模式, :wq 保存退出(注:這里是有【一個冒號+wq】),不保存就直接退出是 :q! (冒號+q+感嘆號)
② 在文件末尾添加上紅框中的代碼。如圖所示:
export JAVA_HOME=/usr/java/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}
編輯結束之后保存退出,按ESC鍵,然后輸入 :冒號鍵進入底線命令模式輸入 wq回車即可保存退出。
③ 刷新環境變量使其生效
source /etc/profile
1.4 檢查是否安裝成功
java -version
出現以下畫面表示jdk安裝成功
2 Linux安裝部署Jenkins
2.1 安裝Jenkins:
方法一:使用sudo wget直接從服務器遠程獲取安裝
①遠程獲取repo文件:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
②導入rpm文件:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
③安裝:
yum install jenkins
④啟動jenkins:
sudo service jenkins start
方法二:本地下載rpm安裝運行
①下載地址:Jenkins下載
這里使用最新版:jenkins-2.254-1.1.noarch.rpm
②安裝下載的rpm(cd到rpm目錄):
rpm -ih jenkins-2.254-1.1.noarch.rpm
如圖:
③啟動jenkins:
sudo service jenkins start
課外知識:
知識1.查看jenkins運行狀態:
systemctl status jenkins
知識2.安裝后jenkins默認的路徑(了解下就好):
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件 /var/lib/jenkins/ 默認的JENKINS_HOME目錄 /var/log/jenkins/jenkins.log Jenkins日志文件
2.2 Jenkins配置java路徑:
vi /etc/init.d/jenkins
修改配置(這里是bin里的java文件夾):
2.3 更改jenkins執行賬號權限
vim /etc/sysconfig/jenkins
修改jenkins_user為root訪問用戶:
2.4 配置jenkins和安裝插件
瀏覽器訪問:http://localhost:8080/
查看密碼:
vi /var/lib/jenkins/secrets/initialAdminPassword
復制密碼到 Administrator password
Continue下一步
Instal suggested plugins:安裝建議的插件
接下來是進入插件安裝進度界面:
插件一次可能不會完全安裝成功,可以點擊Retry再次安裝。直到全部安裝成功
等待一段時間之后,插件安裝完成,配置用戶名密碼:輸入:admin/admin(可以自定義)
插件安裝:系統管理(Manage Jenkins) > 插件管理 (Manage Plugins)> 可選插件,勾選需要安裝的插件,點擊直接安裝或者下載重啟后安裝(建議 直接安裝)
以下三個必備插件:
Locale plugin
Git plugin
Maven Integration plugin
非中文版漢化教程(已經漢化的略過):Manage Jenkins > Configuration System
找到locale設置Default Language為:zh_CN
如圖:
2.5 配置全局變量
系統管理 > 全局工具配置
Maven配置:
JDK:
Git:
Maven:
應用 》保存
2.6 部署項目
首頁點擊新建:輸入項目名稱
下方選擇構建一個 Maven 項目,點擊確定。
勾選丟棄舊的構建,選擇是否備份被替換的舊包。我這里選擇備份最近的10個
源碼管理 :
構建環境中勾選“Add timestamps to the Console Output”,代碼構建的過程中會將日志打印出來
在 Build 中輸入打包前的 mvn 命令,如:
clean install -Dmaven.test.skip=true -Ptest
Post Steps:選Execute shell
填入shell命令:(這個shell命令只需要改三個變量替換成自己的就行)
#!/bin/bash
# 定義變量(以下三個變量替換成自己的)
JAR_NAME="time-intersection-0.0.2-SNAPSHOT.jar" #jar包名稱 PROJECT_NAME="test" #構建的jenkins項目的名稱 MY_PROJECT_PATH="/home/app" #項目想要部署的路徑 JAR_FILE=/var/lib/jenkins/workspace/${PROJECT_NAME}/target/${JAR_NAME} #因為jenkins打包自動放在它自己的目錄下 PROJECT_PATH=${MY_PROJECT_PATH}/${PROJECT_NAME} #項目部署所在路徑 echo "jar包路徑:${JAR_FILE}" # 在部署前殺死上一次的程序 pid=$(ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}') if [ -n "${pid}" ]; then echo "kill -9 ${pid}" # grep ${JAR_NAME} 查詢一個程序 # grep -v grep 去除 grep # awk '{print $2}' 獲取第二列數據 # xargs kill -9 xargs可以將返回的數據傳到給下一個命令使用 ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}' | xargs kill -9 fi # 判定目錄和文件是否存在 if [ ! -f ${JAR_FILE} ]; then echo "${JAR_FILE} not exist!" exit else
if [ ! -d ${PROJECT_PATH} ]; then echo "創建項目路徑:${PROJECT_PATH}" mkdir -p ${PROJECT_PATH} chmod 777 ${PROJECT_PATH} fi #復制jenkins自動打包的jar包到我們指定的目錄 cp ${JAR_FILE} ${PROJECT_PATH}/${JAR_NAME} #給予文件最大權限 chmod 777 ${PROJECT_PATH}/${JAR_NAME} fi # 部署新的程序 cd ${PROJECT_PATH} BUILD_ID=dontKillMe #必須加,否則jenkins啟動結束后會自動殺進程,有的jenkins版本是JENKINS_NODE_COOKIE=dontKillMe nohup java -jar ${JAR_NAME} --spring.profiles.active=prod >log.txt & sleep 10 tail -n 200 log.txt echo "Startup SpringBoot Application SUCCESS"