一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 教你如何用Jenkins自動化部署項目(從零到搭建完成)

教你如何用Jenkins自動化部署項目(從零到搭建完成)

2020-10-07 22:32龍之竹 JAVA教程

這篇文章主要介紹了教你如何用Jenkins自動化部署項目(從零到搭建完成),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

      最近在實習中接觸了jenkins這個東西,所以花點時間了解了下。它可以在代碼上傳倉庫(如github,gitee,gitlab)后,在jenkins(一個網站界面)中通過獲取代碼倉庫中最新代碼,進行自動化部署,而省去手動打包、上傳服務器、部署這一系列步驟,非常方便。

       下面教程分為以下幾個部分:

一、在你的本地電腦或者linux服務器上下載安裝jenkins:

jenkins下載地址:https://jenkins.io/   下載網站的war包版本就好了

下載完后把它部署到你的tomcat上運行:放到tomcat的webapps目錄下,啟動tomcat(windows下雙擊startup.bat或者linux下運行sh startup.sh),然后通過瀏覽器訪問,如我的電腦上訪問:localhost:8080/jenkins 。啟動后的界面如下:

教你如何用Jenkins自動化部署項目(從零到搭建完成)

然后到提示的文件中把里面的文本復制出來填到管理員密碼中。

接著如果是在本地電腦跑,可能會出現:該jenkins實例似乎已離線 提示,如果出現,是因為本地https訪問不了的原因。在瀏覽器中另打開一個界面http://localhost:8080/pluginManager/advanced,把升級站點中的url中的https改為http,保存更新。然后關掉tomcat服務器重啟,就可以聯網了。

        接下來選擇安裝推薦的插件,這個需要一定的時間。最后額外推薦安裝兩個插件,在系統管理中可以安裝插件:

1、 Rebuilder

2、 Safe Restart

二、在linux服務器中安裝git, maven,創建一個jenkens目錄,配置git的公鑰到你的github上,這些步驟是使用jenkins的前提。

     安裝git的目的是在自動化部署前實時從git遠程倉庫中拉取最新的代碼。在linux(我用的是centos系統)安裝git:

?
1
yum install git

    生成密鑰:

?
1
ssh-keygen -t rsa -C <a href="mailto:[email protected]" rel="external nofollow">[email protected]</a>

    可以不設置密鑰密碼直接按三次回車。 把家目錄中生成的公鑰內容復制到github或其他倉庫上。    

    安裝maven的目的是通過項目中的pom.xml文件自動解決項目依賴問題,構建項目。linux中通過wget+下載鏈接下載maven的zip包然后解壓即可。配置maven環境變量:

?
1
ssh-keygen -t rsa -C <a href="mailto:[email protected]" rel="external nofollow">[email protected]</a>

    創建jenkins目錄,用來存儲拉取下來的項目代碼等。

三、將Linux服務器注冊到Jenkins

1、開啟服務器上的ssh服務,可通過 netstat -anp | grep :22命令查看是否開啟

2、先來測試一下怎么在jenkins中操作遠程服務器

在jenkins中選擇系統管理——》新建節點

教你如何用Jenkins自動化部署項目(從零到搭建完成)

其中遠程工作目錄即你在Linux上創建的jenkins目錄。在Credentials添加一個遠程用戶,輸入你的遠程機器用戶名和密碼保存。

教你如何用Jenkins自動化部署項目(從零到搭建完成)

點擊TestEnv,啟動代理。

在全局工具配置中配置git命令:

教你如何用Jenkins自動化部署項目(從零到搭建完成)

3、自動化部署過程原理:

教你如何用Jenkins自動化部署項目(從零到搭建完成)

所以需要編寫一個shell腳本來執行這個過程。

具體的創建Jenkins任務的過程為

1.創建jenkins任務

2.填寫Server信息

3.配置git參數

4.填寫構建語句(shell腳本),實現自動部署。

四、創建自動化部署任務

1、編寫shell部署腳本deploy.sh,并放到linux服務器中的jenkins目錄下,在該目錄下通過touch deploy.sh創建一個腳本,把下面的腳本復制到里面即可(到時每次自動部署都會執行它),腳本中的my-scrum為我要自動構建的項目名:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env bash
#編譯+部署項目站點
 
#需要配置如下參數
# 項目路徑, 在Execute Shell中配置項目路徑, pwd 就可以獲得該項目路徑
# export PROJ_PATH=這個jenkins任務在部署機器上的路徑
 
# 輸入你的環境上tomcat的全路徑
# export TOMCAT_APP_PATH=tomcat在部署機器上的路徑
 
### base 函數
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 $TOMCAT_APP_PATH/bin
  sh shutdown.sh
}
cd $PROJ_PATH/my-scrum
mvn clean install
 
# 停tomcat
killTomcat
 
# 刪除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/my-scrum.war
 
# 復制新的工程到tomcat上
cp $PROJ_PATH/scrum/target/order.war $TOMCAT_APP_PATH/webapps/
 
cd $TOMCAT_APP_PATH/webapps/
mv my-scrum.war ROOT.war
 
# 啟動Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh

2、在jenkins上點擊新建一個任務,填好任務名,填寫運行的節點(上文中新建節點時創建的):

教你如何用Jenkins自動化部署項目(從零到搭建完成)

3、點擊源碼管理,填寫github(或gitlab等)地址:

教你如何用Jenkins自動化部署項目(從零到搭建完成)

4、點擊add,選擇check out to a sub-directory ,添加源碼下載到jenkins目錄下的指定目錄(可以命名為你的項目名):

教你如何用Jenkins自動化部署項目(從零到搭建完成)

5、填寫構建任務時的shell腳本,然后保存,點擊立即構建完成自動構建。(這里有一個坑,一定要給tomcat下所有sh文件加上x權限才能啟動tomcat成功,具體為在tomcat目錄上層執行chmod a+x  -R tomcat目錄或者在tomcat的bin目錄下執行chmod +x *.sh)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#當jenkins進程結束后新開的tomcat進程不被殺死
BUILD_ID=DONTKILLME
#加載變量
. /etc/profile
#配置運行參數
 
#PROJ_PATH為設置的jenkins目錄的執行任務目錄
export PROJ_PATH=`pwd`
#配置tomcat所在目錄
export TOMCAT_APP_PATH=/root/tomcats/tomcat-my-scrum
 
#執行寫好的自動化部署腳本
sh /root/jenkins/deploy.sh

教你如何用Jenkins自動化部署項目(從零到搭建完成)

6、自動化構建成功:

教你如何用Jenkins自動化部署項目(從零到搭建完成)

7、后續代碼如果有改動,只要push到github或者gitlab等上,在jenkins界面中再次執行構建任務就可以了,非常方便,自動化部署,再也不用手動上傳項目到服務器了。

五、解決一個tomcat關閉,所有tomcat都被關閉了的問題(如果你的jenkins也是安裝的服務器上的其中一個tomcat中,就可能被莫名殺掉)

       這是因為所有的tomcat的關閉腳本(shutdown.sh或者說catalina.sh)都默認監聽的是8005端口。只要進去tomcat目錄下的conf目錄下的server.xml文件中,將

?
1
2
3
4
5
<Server port="8005" shutdown="SHUTDOWN">
 <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
 <!-- Security listener. Documentation at /docs/config/listeners.html
 <Listener className="org.apache.catalina.security.SecurityListener" />
 -->

中的8005端口改為不同的端口,就不會一個tomcat關閉,所有的tomcat都被關閉了

六、以后可以在linux服務器中安裝多個tomcat,來部署不同的項目,分別使用不同的端口,如我喜歡用8081,8082,8083等端口來解決多個tomcat端口沖突問題(在tomcat的conf目錄下的server.xml中修改即可,默認為8080)。然后可以用jenkins來管理這些tomcat的自動化部署啦。

到此這篇關于教你如何用Jenkins自動化部署項目(從零到搭建完成)的文章就介紹到這了,更多相關Jenkins自動化部署項目內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_37372007/article/details/81586751

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费网站看v片在线成人国产系列 | 特级毛片全部免费播放器 | 亚洲国产第一区二区香蕉日日 | 成年男人永久免费看片 | 九九精品99久久久香蕉 | 好男人在线观看hd中字 | 精品亚洲欧美中文字幕在线看 | 黄篇网站在线观看 | 236zz宅宅最新伦理 | 九九99香蕉在线视频美国毛片 | 性欧美13处丶14处 | 人人揉人人爽五月天视频 | 欧美一区不卡二区不卡三区 | 国产精品成人一区二区1 | 我和岳的性事小说 | 91国内精品 | 日剧整部剧护妻狂魔免费观看全集 | 俄罗斯美女毛茸茸bbwbbw | 国产精品第1页在线播放 | 国产九九在线 | 深夜免费在线观看 | 爽好舒服使劲添高h视频 | 国产三区二区 | 暖暖暖免费观看在线观看 | 亚洲一级特黄特黄的大片 | 国内精品91久久久久 | 亚洲天堂影院在线观看 | 日本艳鉧动漫1~6完整版在 | 小夫妻天天恶战 | 久久午夜夜伦痒痒想咳嗽P 久久无码AV亚洲精品色午夜麻豆 | 全彩孕交漫画福利啪啪吧 | 农夫成人网 | 小草高清视频免费直播 | 暖暖免费观看高清在线 | 午夜神器18以下不能进免费 | 91九色最新地址 | 日本男男gaygays | 美女扒开腿让男生捅 | 暖暖暖免费观看在线观看 | 海绵宝宝第二季全集免费观看 | 性色香蕉AV久久久天天网 |