介紹: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
訪問主頁,配置成功