一 .安裝Jenkins
1.下載 Jenkins官方地址 https://jenkins.io/download/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
2.安裝 Jenkins (yum安裝Jenkins默認路徑爲 /var/lib/jenkins)
sudo yum install jenkins
3.jenkins的默認設置
Jenkins會隨系統啓動而啓動。詳情參照/etc/init.d/jenkins
Jenkins會創建一個用戶叫做jenkins, 如果你修改了user,則要修修改所屬者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
如果遇到問題,查看日誌/var/log/jenkins/jenkins.log
配置文件/etc/sysconfig/jenkins
默認啓用8080
4.配置端口
vi /etc/sysconfig/jenkins
默認8080,改成自己想要的端口
JENKINS_PORT="8080"
5.啓動和關閉Jenkins
sudo service jenkins start
sudo service jenkins stop
6.配置java maven環境 略 (自行百度配置)
二.進入Jenkins後臺
1.打開後臺地址(我端口修改成了8888,ip自行替換成自己外網的ip)
http://127.0.0.1:8888
2.查看密碼,初始化進入
cat /var/lib/jenkins/secrets/initialAdminPassword
3.安裝插件 選擇第一個默認插件即可
4.設置管理員
5.安裝git
yum install git
三.構建job
1.任務名稱自取,選擇第一個
2.General: 勾選github 填寫自己git項目地址
3.源碼管理 添加用戶憑證 填寫git 用戶名和密碼
4.構建 (springoot jar包形式部署)
選擇執行shell,這裏我分爲2大步驟,
1)git下源碼 並切換到工作空間項目根目錄執行mvn install打包
2)重新發布項目 先停止項目,再拷貝打好的jar包 ,最後啓動項目
注:
上面的nohup後面少了個sh
stop.sh 找到jar包的進程並殺死
#!/bin/sh
echo "查找進程id"
pid=`ps -ef | grep webStencil-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 強制終止
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
replace.sh 替換新jar包
#!/bin/sh
echo "先刪除/home/m2/script的jar"
cd /home/m2/script/app
if [ -f /home/m2/script/app/webStencil-0.0.1-SNAPSHOT.jar ]; then
echo "文件存在刪除"
rm -rf webStencil-0.0.1-SNAPSHOT.jar
fi
echo "刪除成功"
echo "開始複製jar到/home/m2/script"
cp /var/lib/jenkins/workspace/web/target/webStencil-0.0.1-SNAPSHOT.jar /home/m2/script/web
echo "複製成功"
start.sh 啓動jar
#!/bin/sh
echo "jar方式啓動"
chmod 777 /home/m2/script/web/webStencil-0.0.1-SNAPSHOT.jar
cd /home/m2/script/web
java -jar webStencil-0.0.1-SNAPSHOT.jar
echo "啓動成功"
注意點:
1 默認jenkins服務以jenkins用戶運行,這時在jenkins執行ant腳本時可能會發生沒有權限刪除目錄,覆蓋文件等情況。可以讓jenkins以root用戶運行來解決這個問題。
1).將jenkins賬號分別加入到root組中
gpasswd -a root jenkins
2).修改/etc/sysconfig/jenkins文件中,
JENKINS_USER=root
JENKINS_GROUP=root
修改爲root權限運行 重啓服務,搞定
2 .啓動jar包的時候 如果直接 sh start.sh啓動後進程就會被殺死
BUILD_ID=dontKillMe nohup /home/m2/script/web/start.sh >>./weblog/`date +%F`.web.log &
最後保存配置後點擊立即構建,產看控制檯構建情況慢慢調試即可
四.遠程連接
- 安裝Publish Over SSH插件
- 全局配置裏配置遠程賬號
3.項目構建配置裏增加構建後操作,即可上傳文件到指定服務器