Jenkins+GitHub+maven

介紹:java


http://192.168.193.128:8115/jenkins/

用戶名:admin
密碼:admin
電子郵箱:admin@admin.com

root/12345678
添加新用戶:linux

test/12345678    test@admin.com
stoneshi/stoneshi stoneshi@admin.com

插件:rebuilder:構建的時候輸入參數,輸入參數的時候麻煩,再次構建的時候能夠輸入不少參數。
           safe restart:安全Jenkins重啓
        
基礎配置:全局安全性--系統管理,configure--安全矩陣--添加admin用戶,添加權限--保存
            添加用戶---系統管理---管理用戶--新建用戶tester01---系統管理--如上配置權限,全選,去掉administrator。
普通用戶和系統用戶區別:註銷此用戶,登錄tester01,能夠建立任務,不能管理Jenkins

測試服務器和Jenkins服務器是部署在不一樣服務器中,測試應用服務器:
Linux下的安裝:
確認開啓ssh服務
確認用戶名和密碼
防火牆 處於關閉狀態,測試環境通常用的內網,能夠關閉

安裝java環境

ssh端口默認是22端口。

安裝git:用戶存儲和管理項目的源代碼,大部分公司使用源代碼管理。

安裝並配置git,驗證安裝結果
git初始化設置並生成受權證書:
初始化配置
git config --global user.name "stone"
git config --global user.email "stone@admin.com"

生成受權證書
ssh-keygen -t rsa -C "stone@admin.com"    最好和前面的同樣
cd ~/.ssh/  
將git證書配置到gitlab上,保證Linux和Gitlab之間能夠聯通
也就是將公鑰放到gitlab的setting---ssh和gitlab中。
配置好後,驗證是否成功鏈接:ssh git@github.com
出現You ve successfully authenticated代表成功鏈接


安裝並配置Maven
實戰應用程序是基於Maven構建的
下載包---maven.apache.org-----download----選擇Apache-maven-3.5.3-bin.zip下載

unzip Apache-maven-3.5.3-bin.zip
cd apache-maven-3.3.3
文件末尾輸入:
export MAVEN_HOME=/root/apache-maven-3.3.3
export PATH=$MAVEN_HOME/bin:$PATH

. /etc/profile   加載系統設置
mvn -version

下載Tomcat省略:
chmod a+x -R /usr/local/tomcat/*git


jenkins配置:
新建節點
系統管理--管理節點--新建節點--輸入名稱test--Permanent Agent--OK
描述:省略github


配置IP,路徑,IP,用戶名,密碼

遠程工做目錄:
計劃使用root用戶登陸Jenkins這臺主機,能夠配置爲/root/.jenkins
啓動方法:
Lanuch slave agnets via SSH

主機:Linux的IP地址
使用Linux的用戶名和密碼來登陸,--add--選擇。----保存

嘗試鏈接:驗證linux服務器鏈接到Jenkins的服務器上。
點擊節點名---launch agent---

說明這臺Linux主機成功鏈接到Jenkins主機上。

運行驗證:
建立一個任務,驗證是否在Linux上運行。
建立新任務--Enter an item name (testtask)---構建一個自由風格選項--OK
Restrict where this project can be run
Label Expression :輸入建立的Linux環境的名稱,只能在(testenv)這裏面運行
構建步驟---輸入shell命令。

github,
fork部署:將修改後的源碼,放到git的空間下,
使用本身的帳號登陸GitHub上--搜索princeqjzh/order---單擊fork按鈕---進入郵箱點擊連接fork完成
--能夠看到源碼到order下--得到該工程的修改權限

gitlub打開fork部署應用
將應用源代碼同步到本機。--order--單擊clone or download---ssh格式和http格式--複製ssh格式
--進入服務器,git clone下載--用intellij idea打開克隆項目--file--open--order--this window
源代碼的簡要說明
架構創建在maven的基礎上的--構建maven,因此根目錄下有pom.xml文件--java的源代碼放到src的main下的java下
建立db的sql目錄放到sql下,執行部署應用的shell腳本放到deploy.sh下
驗證源代碼有無錯誤--打開maven project--order--lifecycle--同時選中clean,install--執行綠色箭頭--看到build success說明構建成功
與後臺數據庫有交互,建立沒MySQL數據表--導入sql語句

修改代碼,而後在服務器中push執行。
準備工做總結:
1 FORK GitHub上的練習部署應用,確保得到代碼更新權限
2 把應用源代碼clone到本地,執行sql語句導入應用數據
3 更新應用的數據庫參數,本地運行應用驗證系統正確性
4 commit源代碼修改,並將改動push到GitHub服務器

Jenkins自動化部署任務
自動化部署過程:
git 同步最新代碼
maven 打包
中止Tomcat
部署應用
啓動Tomcat
驗證web界面

自動化部署代碼,在工程的deploy.shweb

#!/usr/bin/env bash                調用Linux內核下的bin/shell庫,標準寫法
#編譯+部署order站點

須要配置以下參數
#項目路徑,在execute shell中配置項目路徑,pwd能夠得到該路徑
#export PROJ_PATH=這個jenkins任務在部署機器上的路徑

#輸入你的環境上Tomcat的全路徑
#export TOMCAT_APP_PATH=Tomcat在部署機上的路徑

###bash函數
killTomcat()
{
    pid=`ps -ef | grep tomcat | grep java| awk '{print $2}'`
    echo "tomcat ID list :$pid"
    if [ "$pid" = "" ]
    then
        echo "no tomcat pid alive"
    else
        kill -9 $pid
    fi
}
cd $PROJ_PATH/order        進入當前項目的order根目錄
mvn clean install        利用maven構建工程

##停Tomcat
killtomcat

#刪除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -r $TOMCAT_APP_PATH/webapps/order.war

#複製新的工程
cp $PROJ_PATH/order/target/order.war $TOMCAT_APP_PATH/webapps/

cd $TOMCAT_APP_PATH/webapps/
mv order.war ROOT.war

##啓動Tomcat
cd $TOMCAT_APP_PATH/

JENKINS的web界面配置
新建任務---項目名稱test--Restrict where this project can be run --testenv--git--add pepository
--Additional Behaviours --Local subdirectory for repo --order--構建shellsql

BUILD_ID=DONTKILLME       
##當Jenkins部署完server任務後,server不關閉,可是Jenkins線程會被殺掉。
. /etc/profile
###配置運行參數
export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=服務器中Tomcat的目錄

sh  $PROJ_PATH/order/deploy.sh
訪問主頁,配置成功
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息