linux服務器中Jenkins集成git、Gradle持續構建Springboot項目

Jenkins是用java編寫的開源持續集成工具,目前被國內外各公司普遍使用。本章教你們如何在linux服務器中使用Jenkins自動發佈一個可做爲linux服務發佈的Springboot項目。java

自動構建須要通過以下步驟:從git倉庫下載代碼、使用Gradle進行構建、使用SSH推送到另外一臺linux服務器、項目做爲linux服務啓動。本章將逐條仔細講解。linux

1、得到一臺linux服務器

要在linux下搞持續構建,首先你得先有一臺linux服務器,做爲小白,手頭的機器確定都是windows的,搞個虛擬機安裝對我這種小白簡直是折磨人;這裏使用最簡單的方式得到一臺linux服務器,就是從阿里雲上租一臺。鏡像選擇CentOS7.3 64位。git


 
阿里雲上租服務器

2、準備工做

在開始部署持續構建以前,你須要先安裝好必備的軟件,包含jdk、git、Gradle、Jenkins。若是你不熟悉這些軟件怎麼安裝,能夠查看本人以前發佈的教程。傳送門:jdk安裝git安裝Gradle安裝Linux下Jenkins安裝Docker版本Jenkins的使用github

另外,你還須要在git倉庫中有一份可做爲服務啓動的springboot代碼。不熟悉的同窗參考以前發佈的教程。傳送門使用github管理標準springboot代碼spring

3、配置Jenkins使用的JDK

登陸Jenkins進入歡迎頁面,點擊系統管理windows

 
Jenkins歡迎頁面

進入管理頁面,點擊Global Tool Configuration進入全局工具配置頁面。瀏覽器

 
Jenkins管理頁面

在全局工具配置頁面,咱們能夠配置JDK、GIT、Gradle。這裏咱們先配置JDK,點擊新增JDKspringboot

 
Jenkins全局工具1

配置好JDK的別名,以及設置JAVA_HOME路徑,按照以前JDK安裝教程的yum安裝方式,JAVA_HOME的路徑應該是/usr/lib/jvm/java-1.8.0服務器

 
Jenkins Jdk配置

點擊Save,JDK配置完成。ssh

4、在Jenkins配置GIT路徑

剛纔配置好了JDK,如今咱們開始配置GIT。仍是打開全局工具配置頁面,在JDK的配置下面,能夠看到GIT相關的配置。

 
Jenkins GIT配置

Name處寫上別名,叫什麼都行,這裏習慣性寫gitPath to Git executable這個地方要注意,不是填git文件夾所在路徑,須要填寫git可執行文件的路徑。按照以前教程git安裝的手動下載源碼安裝的方式,此處應該填寫/usr/local/git/bin/git

點擊Save,GIT配置完成。

5、配置Jenkins使用GIT下載代碼

剛纔在Jenkins中配置了git,如今開始使用git來下載代碼。首先,須要在linux上生成一套SSH Key,並將SSH Key和github相關聯。

輸入命令ssh-keygen -t rsa -C "test@163.com"來生成ssh公私鑰。注意把郵箱替換成本身的郵箱。生成的時候會有輸入框提示 第一次是讓你輸入文件的地址,第二次和第三次是輸出密碼。這裏所有敲回車,使用默認地址,不設置密碼。

 
生成SSH公私鑰

如今SSH公私鑰生成好了,輸入命令tail /root/.ssh/id_rsa.pub來獲取公鑰。

 
獲取公鑰

複製公鑰,到github上打開管理頁面關聯上。


 
SSH Key和github關聯

ps.這裏生成SSHKey是基於linux安裝jenkins的,若是你使用的是Docker版,參考Docker版本Jenkins的使用這篇文章的最後一章。

如今Jenkins所在機器的SSH Key和github關聯上了,咱們回到Jenkins歡迎頁面,點擊新建

 
新建任務1

在新建任務頁面,輸入任務名,選擇構建一個自由風格的軟件項目,點擊OK

 
新建任務2

進入任務配置頁面,在源碼管理選擇git。

 
源碼管理

Repository URL字段填寫git遠程倉庫地址,你能夠從github上找到。

 
Paste_Image.png

配置上git遠程倉庫地址後,能夠看見有錯誤信息提示沒有權限,點擊Add按鈕,添加證書。注意KindSSH username with private keyPrivate KeyFrom the jenkins master ~/.ssh,點擊Add

 
添加證書

回到源碼管理頁面,選擇剛纔添加的證書,錯誤信息消失標識配置成功。點擊保存

 
選擇證書

在項目控制檯頁面,點擊馬上構建,來測試Jenkins是否能夠成功從git倉庫下載代碼。

 
項目控制檯

等待構建執行結束,在服務器進入Jenkins工程目錄/var/lib/jenkins/workspace。能夠看到目錄下有文件夾demo-jenkins-service。進入文件夾,能夠看到項目相關代碼。

 
查看下載代碼

至此Jenkins使用GIT下載代碼配置成功。

6、配置Jenkins使用Gradle構建代碼

如今咱們已經能夠經過Jenkins使用git下載代碼了,下面須要將代碼構建成項目。這裏咱們使用Gradle工具進行構建。尚未安裝Gradle的同窗能夠參考以前的教程Gradle安裝

再次進入在全局工具配置頁面,進行Gradle的配置。name處寫別名,GRADLE_HOME處填寫Gradle安裝的根目錄,根據以前教程安裝的朋友,這裏填寫/opt/gradle/gradle-3.5。填寫完成後點擊Save

 
Jenkins配置Gradle

打開任務,進入任務配置頁面,在構建欄目下,點擊增長構建步驟,選擇Invoke Gradle script

 
配置Gradle腳本1

在Gradle腳本頁面,選擇Invoke GradleGradle Version選擇以前配置的gradle,Tasks輸出clean build。表示須要Gradle先執行clean命令,在執行build命令。都填好後,點擊保存。

 
配置Gradle腳本2

如今使用Gradle構建代碼也配置好了,咱們來測試一下,在任務頁面點擊當即構建,等待執行成功。

 
Gradle構建測試

執行成功後,進入Jenkins工程目錄,發現demo-jenkins-service文件夾下多出了個build文件下,裏面有構建後的文件,在libs文件夾下,能夠找到構建後的工程文件demo-jenkins-service.jar

 
Gradle構建後檢查

至此,經過Jenkins使用git下載代碼並使用Gradle構建工程成功。

7、配置Jenkins使用SSH插件推送jar包到其餘服務器,並啓動jar包

如今咱們已經能夠經過Gradle構建用git下載的代碼了,還須要將構建後的jar包推送到其餘服務器去運行。Jenkins提供了SSH傳輸的插件,咱們可使用插件來推送文件。

先來安裝SSH插件,從系統管理進入管理插件頁面。

 
插件管理

在可選插件中找到Publish Over SSH,選中後點擊直接安裝

 
選擇插件

安裝中頁面,勾選上安裝完成後重啓,耐心等待安裝完成。

 
安裝插件

如今插件安裝好了,開始配置插件。從系統管理進入系統設置頁面。

 
系統設置

在頁面中找到Publish over SSH,點擊增長

 
設置服務器

Name起一個別名,這裏叫aliyun;Hostname填寫服務器ip地址;Username填寫服務器登陸用戶名;Remote Directory填寫登陸後路徑;點擊高級打開擴展頁面,勾選上使用密碼認證,在密碼裏填寫登陸用戶名對應的密碼。

 
設置服務器登陸參數

所有填寫好後,點擊Test Configuration測試是否能夠成功訪問服務器,若是填寫的信息都正確,應該提示Success,點擊保存完成訪問服務器的配置。

 
測試訪問服務器

如今設置好了訪問服務器,咱們來配置把jar包傳過去運行。
打開任務,進入任務配置頁面,在構建後操做欄目下,點擊增長構建後操做步驟,選擇Send build artifacts over SSH

 
增長構建後操做

在配置頁面填寫參數,Name選擇咱們剛纔配置的服務器aliyun;Source files輸入咱們但願上傳的包相對於工程根目錄的路徑,根據Gradle構建的位置,這裏應該填build/libs/demo-jenkins-service.jar;Remove prefix是移除前綴,這裏填寫build/libs/,若是不填的話,插件會把build/libs/demo-jenkins-service.jar連文件夾一塊兒傳過去,填寫了就會只傳一個demo-jenkins-service.jar文件;Remote directory是服務器傳接收上傳文件的路徑;最後Exec command爲上傳成功後在服務器上執行的命令。這裏咱們輸入以下命令

chmod 777 /service/demo-jenkins-service.jar

rm -f /etc/init.d/demo-jenkins-service

ln -s /service/demo-jenkins-service.jar /etc/init.d/demo-jenkins-service

service demo-jenkins-service restart

這三行命令的意思是
1.給文件demo-jenkins-service.jar賦予可執行權限
1.強制刪除/etc/init.d/demo-jenkins-service這個快捷方式
2.將/service/demo-jenkins-service.jar這個文件建立一個/etc/init.d/demo-jenkins-service的快捷方式。注:/etc/init.d路徑下的可執行文件將被自動註冊爲linux service。
3.使用service restart命令重啓剛註冊的service服務。

 
設置文件傳送後命令

等待Jenkins構建完成,在瀏覽器訪問該服務的接口。

 
測試服務器接口

能夠成功訪問。 至此,在linux中使用Jenkins集成git、Gradle持續構建Springboot項目完成。

做者:低調的微胖 連接:https://www.jianshu.com/p/eb3cbb34be97 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索