爲了方便持續集成,快速開發部署,用Jenkins還是比較多的,演示一下CentOS環鏡快速搭建Jenkins服務。
1.查看本機系統環境
$ lsb_release -a
這是我的版本
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
2.安裝
添加Jenkins庫到yum庫,並安裝
$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install -y jenkins
3.配置端口
記得開放服務器的相應端口,我這裏開放:9999。
$ vi /etc/sysconfig/jenkins
找到JENKINS_PORT=“8080” ,並修改爲:9999
4.啓動服務
$ service jenkins start
查看端口占用,有的話說明Jenkins成功啓動爲守護線程。
lsof -i:9999
5.配置Jenkins
瀏覽器訪問> 域名:端口,進入Jenkins初始化配置
首次進入會要求輸入初始密碼, 初始密碼在:/var/lib/jenkins/secrets/initialAdminPassword
然後選擇“Install suggested plugins”安裝默認的插件,這時候等一會兒,在下載必要的插件。
然後創建管理員賬號:
安裝Maven Integration插件
在可選插件裏面找到,然後點擊直接安裝
在已安裝可以看到安裝的插件。
然後從首頁進入全局工具配置,設置JDK,Git,Maven
去掉勾選的自動安裝。
6.創建任務
Git
配置項目的Git地址,身份憑證直接點添加,輸入你的代碼倉庫的賬號密碼就可以了。選上構建的目標分支。
clean package install -U -DskipTests=true -pl common-integral -am
BUILD_ID=dontKillMe
/home/jenkinsShell/integral.sh
選擇Maven,設置好命令。其中的common-integral是我要打包的module的名字。
設置好運行腳本。上面配置的最後一欄,先在對應的目錄創建一個空白的運行腳本文件,我這裏是叫integral.sh。然後賦予這個文件777訪問權限:
sudo chmod -R integral.sh
7.配置運行腳本
Jenkins執行構建的話是把jar包打包好了放在了Jenkins安裝目錄的 /workspace 文件夾下面,還沒執行第一次構建的時候這個文件夾是不存在的,構建一次之後就看得見了。第一次構建會比較久,因爲要去下載Maven依賴。
現在jar包有了,我們配置shell腳本讓他運行起來。
編輯上面的integral.sh文件:
#!/usr/bin/sh
cp /var/lib/jenkins/workspace/nomaybe-integral/common-integral/target/common-integral-0.0.1.jar /home/common/integral
ps aux |grep /home/common/integral/common-integral | grep -v grep | awk '{cmd="kill -15 " $2 ;system(cmd)}'
sleep 5
ps aux |grep /home/common/integral/common-integral | grep -v grep | awk '{cmd="kill -9 " $2 ;system(cmd)}'
nohup java -jar -Dspring.profiles.active=dev /home/common/integral/common-integral-0.0.1.jar >/dev/null &
echo end
sleep 10
看得出來腳本的執行步驟:
- 先把Jenkins打包好的jar包拷貝到對應的文件夾
- kill掉原來還在運行的同項目的jar包
- 運行現在的jar包
然後在Jenkins執行構建:
這裏查看Jenkins的控制檯輸出,會看到報錯信息:
提示沒有對應文件的權限,這個時候給對應的文件或文件夾賦權就可以了。因爲執行構建的時候是jenkins用戶,並不是服務器的root用戶。
給Jenkins用戶授權某個文件夾或文件:
chown -R jenkins:root XXX文件夾
這些都搞完,再執行構建,就可以了。Jar包就運行起來了。Jenkins搭建就算完成了。
- 我的公衆號:Coding摳腚
- 一個沒有福報的社畜程序員。吐槽程序員生存,生活,職業發展。Java學習路線,經驗,技術分享。技術問題交流探討。超喜歡這裏的,這裏的老哥寫代碼都好sao的。