環境要求:
保證你的網絡暢通。否則會遇到很多問題。
Java : 1.8.0_161.
Maven : http://maven.apache.org/download.cgi 3.6.1 下載完解壓,配置環境變量:vim /etc/profile
MAVEN_HOME=/mysoft/maven PATH=$MAVEN_HOME/bin:$PATH export MAVEN_HOME PATH
生效配置文件 source /etc/profile
Git : https://github.com/git/git/releases 2.23.0
安裝依賴的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下載源碼包進行源碼安裝:
解壓:tar zxvf git-2.23.0.tar.gz mv git-2.23.0 git cd git
編譯安裝:
make prefix=/usr/local/git all make prefix=/usr/local/git install
配置環境變量
vim /etc/profile 加入export PATH=$PATH:/usr/local/git/bin 生效配置文件 source /etc/profile
查看目錄:whereis git , 查看版本:git --version
Jenkins 安裝:
下載地址:https://jenkins.io/zh/download/ 2.191
啟動方法: java -jar jenkins.war 即可,如果要以后台進程的方式啟動,改成nohup java -jar jenkins.war & 即可,啟動過程中,它會將war包解壓到~/.jenkins目錄下,並生成一些目錄及配置文件
我這邊是直接吧war包放到了tomcat的webapps目錄下,重啟一下tomcat通過 192.168.1.101:8080/jenkins/ 來訪問:
首先需要解鎖jenkins ,這里密碼到對應目錄下拷貝進去即可,安裝推薦的插件。
這里我們需要的插件是 Maven (Maven Integration),Git ,SSH(Publish Over SSH),GitHub Integration 等常用的插件,如果缺少插件可以到 Manage Plusins 中去安裝:
Jenkins 基本配置:
基本配置中 JDK,Maven ,Git 的配置是必不可少的,在Global Tool Configuration 中配置(我部署在linux上,路勁均為服務器路徑):
我們這里需要遠程發布,所以我們這里還需要配置 SSH,在系統配置中 Configure System,首先我們需要在本機上生成私鑰,設置目標服務器免密登錄: ssh-keygen -t rsa
設置免密登錄: ssh-copy-id root@IP
測試:
配置,這里的目錄建議是 / ,不然后面會有影響:
測試是否成功:
創建一個 Maven Job:
創建完我們需要進行進一步的配置:首先,我這里是從GitHub進行源碼管理,需要配置項目的遠程倉庫地址:
我這里采用的是父子工程的方式,所以我們需要指定對應的 Pom 文件進行項目構建:
接下去需要去配置 Post Steps :
source /etc/profile project=springboot-study-1.0-SNAPSHOT.jar 對應的工程 dir=/mysoft/ 目錄 pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then kill -9 $pid fi nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/dev/null 2>&1&
就這樣配置完成。
項目構建:
回到 My Views 進行代碼構建:
可以到控制台查看構建情況:
當構建完成會出現以下日志:
然后到對應的服務器指定目錄下查看是否出現 該Jar ,如果jar啟動失敗則需要查看項目是否有問題。這樣就完成了簡單的構建發布過程
Push代碼后進行自動構建:
JenKins安裝Gitlab Hook 兩個Plugin插件。
GitHub收到提交的代碼后要主動通知Jenkins,所以Jenkins所在服務器一定要有外網IP,否則GitHub無法訪問,我的Jenkins服務器是部署在阿里雲的雲主機上,帶有外網IP。
GitHub WebHook配置,地址就是上面這個:
配置觸發器:
然后推一下代碼就能看到構建