目錄
Jenkins 是 Devops 神器,本文介紹如何安裝和使用 Jenkins + svn + maven 部署 Spring Boot 項目;
一、準備環境
Centos7.6
JDK1.8
Jenkins2.238
maven3.5.4
apache-tomcat-7
maven默認已經安裝完成;
jdk默認已經安裝完成;
二、配置防火牆
#centos7
systemctl stop firewalld.service
==============================
#以下爲:centOS 6.5關閉防火牆步驟
#關閉命令:
service iptables stop
#永久關閉防火牆:
chkconfig iptables off
#兩個命令同時運行,運行完成後查看防火牆關閉狀態
service iptables status
三、配置tomcat
3.1 解壓
#解壓
zip apache-tomcat-7.0.75.zip
3.2 修改server.xml
#server.xml 地址
/home/jenkins/apache-tomcat-7.0.75/conf
#使用 vi 編輯 server.xml
vi server.xml
在server.xml中添加如入
四、安裝 Jenkins
4.1 下載
cd /home/jenkins
wget http://mirrors.jenkins.io/war/2.238/jenkins.war
#把下載下來的jenkins.war移動到tomcat中
mv jenkins.war /home/jenkins/apache-tomcat-7.0.75/webapps/
4.2 啓動tomcat
#進入到 /home/jenkins/apache-tomcat-7.0.75/bin
#給啓動腳本添加權限
chmod 777 s*
#啓動tomcat
./startup.sh
#停止tomcat
./shutdown.sh
#查看進程,驗證tomcat是否啓動
ps -ef|grep tomcat
啓動tomcat後,瀏覽器訪問:http://ip地址:8084/jenkins
4.3 解鎖 Jenkins
依照提示,查看/root/.jenkins/secrets/initialAdminPassword 文件內容填入文本框
輸入:49b1d9a63880431e85820d09b33eacac
4.4 自定義插件安裝
進入用戶自定義插件界面,建議選擇安裝官方推薦插件,因爲安裝後自己也得安裝:
接下來是進入插件安裝進度界面:
等待一段時間之後,插件安裝完成,配置用戶或者直接登錄
4.5 配置用戶名密碼
輸入:admin/admin
4.6 中文設置
相對於英文不好的人純英文界面不知道點哪裏,不要着急,我們這裏說一下怎麼設置成中文;
1)進入Manage Jenkins中,點擊Manage Plugins(插件設定)
2)安裝插件 Locale plugin
3)安裝中文漢化語言包插件 Localization: Chinese (Simplified)
4)在系統管理——>系統配置中設定中文語言,方法如下:
5)在Default Language中設定“zh_CN”簡體中文,"zh_TW"繁體中文
6)安裝後重啓 jenkins
重啓方法:http://訪問地址/restart,在jenkins訪問url後面 添加 restart 點擊 yes 重啓即可。
7)插件卸載方法
將紅框的內的插件卸載後重啓Jenkins,灰色卸載會在“Locale plugin”插件卸載成功後可以點擊。
五、插件安裝和全局環境配置
5.1 插件安裝
有很多插件都是選擇的默認的安裝的,所以現在需要我們安裝的插件不多,Git plugin 和 Maven Integration plugin、publish over SSH、Deploy to container、Subversion
插件安裝:系統管理 > 插件管理 > 可選插件,勾選需要安裝的插件,點擊直接安裝或者下載重啓後安裝。
5.2 全局安全配置
管理Jenkins > 配置全局安全性 > 可選插件,勾選需要安裝的插件,點擊直接安裝或者下載重啓後安裝。
1)沒有權限配置,只要登錄就可以操作
2)配置權限,登錄賬號經過賦權纔能有操作權限
5.3 全局工具配置
1)Maven 配置
2)JDK 配置
3)查看 maven 和 jdk 安裝目錄命令
echo $MAVEN_HOME
echo $JAVA_HOME
六、目標發佈服務器配置
使用用戶名+密碼方式登錄目標發佈服務器
管理Jenkins > 系統配置
點擊高級添加root賬號密碼
七、部署項目
首頁點擊新建:輸入項目名稱
下方選擇構建一個 Maven 項目,點擊確定。
勾選丟棄舊的構建,選擇是否備份被替換的舊包。我這裏選擇備份最近的10個
源碼管理,選擇 SVN,配置 SVN 相關信息,點擊 add 可以輸入 SVN 的賬戶和密碼
點擊添加,可以添加svn賬號和密碼
在 Build 中輸入打包前的 mvn 命令,如:
clean install -Dmaven.test.skip=true -Ptest
意思是:排除測試的包內容,使用後綴爲 test 的配置文件。
點擊高級可以配置maven
Post Steps 選擇 Run only if build succeeds
點擊Add post-build step,選擇 Send files or execute commands over SSH
Name 選擇上面配置的 Push SSH
Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 項目jar包名
Remove prefix:target/
Remote directory:代碼應用服務器的目錄地址
Exec command:程序啓動腳本
腳本內容:
DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_241
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/opt/data1/rs/centre
JARFILE=server-0.0.1-SNAPSHOT.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
scp $JARFILE backup/$JARFILE$DATE
java -jar $JARFILE > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
這段腳本的意思,就是 kill 舊項目,刪除舊項目,啓動新項目,備份老項目。
注意xxxx.jar地址,因爲用命令啓動需要去找jar包,目前jenkins直接打在默認目錄了,沒有進行自定義設置,故如此配置。
八、驗證
1)控制檯輸出,查看啓動日誌
2)登錄發佈目標服務器,通過命令形式查看進程是否起來,命令如下
至此 jenkins + svn + maven 部署Spring Boot項目結束。