Centos7 Git+Jenkins+Maven發佈

準備工作

Gitlab

這裏就不在闡述如何安裝、升級遷移
Gitlab最新版本安裝
Gitlab指定版本安裝
Gitlab版本升級
Gitlab數據遷移

Java環境

用於運行jenkins、啓動微服務等

Server JRE

是專爲服務器端程序量身打造的, 只包含JRE/JDK中最常用的那部分功能.。爲了做到簡單,Server JRE不使用安裝包, 而是一個綠色版的壓縮文件。

JDK(Java Development Kit)

又稱J2SDK(Java2 Software Development Kit),是Java開發工具包,它提供了Java的開發環境(提供了編譯器javac等工具,用於將java文件編譯爲class文件)和運行環境(提供了JVM和Runtime輔助包,用於解析class文件使其得到運行)。如果你下載並安裝了JDK,那麼你不僅可以開發Java程序,也同時擁有了運 行Java程序的平臺。JDK是整個Java的核心,包括一堆Java工具tools.jar和Java標準類庫。

JRE(Java Runtime Enviroment)

是Java的運行環境。面向Java程序的使用者,而不是開發者。JRE是運行Java程序所必須環境的集合,包含JVM標準實現及 Java核心類庫。它包括Java虛擬機、Java平臺核心類和支持文件。它不包含開發工具(編譯器、調試器等)。

Java↓下↓載↓地↓址(默認Server JRE)
SERVER JRE下載地址
JDK下載地址
JRE下載地址

Jenkins↓下↓載↓地↓址
官網下載地址①
官網鏡像下載地址②

Tomcat↓下↓載↓地↓址
官網下載地址

Maven↓下↓載↓地↓址
官網下載地址

選擇版本

一般我都選擇最新的,根據自己需求看着來

Tomcat

這邊我已經下載jdk-8u121-linux-x64.tar.gz並配置了java環境變量了(這個過程不再闡述)

mkdir -p /data && cd /data 
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz && tar -zxf apache-tomcat-9.0.27.tar.gz
#tomcat的配置文件在conf/server.xml 裏面包含了監聽端口(默認端口是8080),jar包目錄等
mv apache-tomcat-9.0.27 tomcat

Jenkins

#下載jenkins.war包
wget http://mirrors.jenkins.io/war/latest/jenkins.war -P /data/tomcat/webapps/
#啓動tomcat
/data/tomcat/bin/startup.sh
#用什麼用戶啓動的jenkins,那麼它的數據就會存在在啓動用戶下的.jenkins中,例如root用戶啓動的jenkins,那麼數據就存放在/root/.jenkins
#訪問jenkins,通過瀏覽器訪問服務端的ip:8080/jenkins

回頭在寫 現在沒空
#確認管理員,輸入cat後的密碼

cat /root/.jenkins/secrets/initialAdminPassword

在這裏插入圖片描述
#點擊繼續後,選擇推薦插件安裝就行,有特定需求的話 可以自定義選擇插件安裝
#推薦安裝後,若有部分安裝失敗的,點擊繼續就行,後續可以按需在線安裝插件。
#創建一個管理員賬號

#點擊保存並完成,URL地址就默認的,不需要改,繼續下一步,完成,點擊重啓即可。
在這裏插入圖片描述
#根據之前操作重啓完成後,如果還處於加載頁面,就F5刷新一下,即可進入jenkins頁面
在這裏插入圖片描述
#登錄後的頁面
在這裏插入圖片描述

案例

#接下來嘗試發佈一個項目,以開源的一個java程序xxl-job(定時任務調度)爲例
#首先我們要想到的是步驟
①通過git clone拉取代碼
②通過maven編譯打包java代碼
③通過java命令啓動jar包

拉取代碼

首先我們需要安裝git,maven,java環境,

在服務器上面安裝git

yum install git -y   

在服務器上面安裝maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz -P /data/
cd /data && tar -zxf apache-maven-3.6.2-bin.tar.gz && mv apache-maven-3.6.2 maven
ln -s /data/maven/bin/mvn /usr/bin/mvn
#測試
mvn -v 

java環境

#安裝tomcat 的時候已經安裝過了,不再闡述

jenkins的全局工具配置

在jenkins上點擊系統管理-全局工具配置
配置maven jdk git
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

jenkins的插件管理

因爲我們需要構建一個maven項目來編譯代碼,所以需要安裝maven插件
在jenkins上點擊系統管理-插件管理-可選插件-搜索Maven Integration直接安裝即可,接下來就可以構建
一個maven項目的任務了

jenkins的maven項目構建

任務名稱設置爲test-xxl-job-admin,選擇構建一個maven項目,創建。
源碼管理選擇-Git
代碼倉庫的URL輸入https://github.com/xuxueli/xxl-job.git
因爲該項目是大佬開源的,所以沒有密碼,分支默認選擇master
在這裏插入圖片描述
構建過程,輸入clean package -Dmaven.test.skip=true,作用是清理舊源碼,打包,跳過測試模塊

保存,點擊立即構建
在這裏插入圖片描述第一次編譯,打包應該是非常慢的,因爲這個程序有依賴的許多jre包,在本地私服倉庫是沒有的,於是maven會從repo.maven.apache.org官網去下載,那麼速度肯定會慢(可以自己搭建私服例如,nexus,搭建完成後由開發上傳jre包,並修改maven的私服倉庫url配置,這裏就不在詳解了,一切從簡)
在這裏插入圖片描述
大約15分鐘左右 打包完成了,打包完成後,jar包的路徑可以看一下在這個位置

  • /root/.jenkins/workspace/test-xxl-job-admin/xxl-job-core/target/xxl-job-core-2.1.1-SNAPSHOT.jar
    在這裏插入圖片描述
    那麼我們編譯打包的動作已經完成了。

jenkins的java項目啓動

接下來我們想要的就是,將編譯打包完成的jar包移動到指定位置啓動,或者說是傳輸到某臺服務端的服務器上啓動這個項目。我來演示傳輸到目標主機,並以test用戶啓動這個項目

創建test用戶

在jenkins服務器上創建用戶

useradd test
#設置密碼
echo 'justtest' | passwd --stdin test

安裝插件並配置任務

在jenkins上操作,系統管理-插件管理-可選插件,輸入Publish Over SSH 並直接安裝
安裝完成後,系統管理-系統設置-Publish over SSH 中的SSH Server-新增
Name表示別名
Hostname表示目標服務器IP
勾選使用密碼驗證,或者使用祕鑰,這邊我是怎麼方便怎麼來的。
輸入密碼,下面還可以指定SSH端口
在這裏插入圖片描述
完成後測試是否可以登錄,點擊Test Configuration,並保存。
在這裏插入圖片描述
接下來回到test-xxl-job-admin這個maven項目-配置
移到最下方的構建後操作-Send build artifacts over SSH
選擇該maven任務需要推送到的目標服務器,這邊我只有一臺就選擇這個Name
在這裏插入圖片描述
接下來是取源文件,也就是之前說的這個編譯打包完成的jar包

  • /root/.jenkins/workspace/test-xxl-job-admin/xxl-job-core/target/xxl-job-core-2.1.1-SNAPSHOT.jar
    Source files 表示 拉取下來打包完成後的jar包的名字
    Remove prefix 表示取jar包名
    Remote directory 表示移動到哪個目錄下,這邊我們沒用到,直接通過shell名來解決這個問題
    Exec command就是在目標主機上執行的SHELL腳本
pid=`ps -ef | grep -E "$JOB_BASE_NAME" | grep "test" | grep -v -E "tail|grep|$0" | awk '{print $2}'`
kill  $pid
mkdir -p xxl-job
cd ~/xxl-job && pwd
echo $pid  >> xxl-job.log
mv ~/xxl-job*.jar ~/xxl-job/xxl-job.jar
nohup java -jar  -Duser.timezone=Asia/Shanghai xxl-job.jar >>xxl-job.log 2>&1 &

在這裏插入圖片描述
保存後就可以開始構建項目了

構建項目

過一會兒就可以看到jar包傳輸到這裏來了,並且啓動了,這邊因爲我沒有弄數據庫,日誌裏面有報錯,這邊我就不貼出來了。(解決思路就是查看這個程序的配置文件,看看數據庫要求是啥,建一個mysql,配置文件中配置mysql的連接地址,賬號密碼)
在這裏插入圖片描述

結束語

jenkins有很多有意思的插件如Git Parameter ,構建的時候可以選擇分支。
如pipline流水線式構建,可以自定義步驟,很清晰的就能看到,哪一步花費了多少時間,輕而易舉的找出問題,並針對性解決問題。下面是我寫的Pipline文檔,有興趣可以看看
Centos7 Jenkins Pipline 淺入淺出

在這裏插入圖片描述
在這裏插入圖片描述
devops之路,任重而道遠。

(666x)' +666'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章