使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

背景

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了黟縣免費(fèi)建站歡迎大家使用!

最近安裝Jenkins,參照網(wǎng)上的各種資料進(jìn)行嘗試,折騰了好久,但是查找了這么多資料,相似度在90%以上!??!,相同的安裝過(guò)程,測(cè)試了幾臺(tái)機(jī)器,未曾成功,不得不感慨自己能力有限,最終慢慢摸索,形成思路,現(xiàn)分享給大家,希望大家在安裝的時(shí)候少走彎路。

PS:本人很痛恨那種粘貼復(fù)制,毫無(wú)思考的博主,本想著拿著解決問(wèn)題的心態(tài),但結(jié)果還是一樣,不但浪費(fèi)了大家的時(shí)間,還浪費(fèi)了大家的感情,所以,我把我遇到的問(wèn)題和解決的方式記錄下來(lái)和大家分享。

知識(shí)背景

首先需要理解的是,Jenkins是幫我們將代碼進(jìn)行統(tǒng)一的編譯打包、還可以放到tomcat容器中進(jìn)行發(fā)布。

意思是我們通過(guò)配置,將以前:編譯、打包、上傳、部署到Tomcat中的過(guò)程交由Jenkins,Jenkins通過(guò)給定的代碼地址URL,將代碼拉取到其“宿主服務(wù)器”(這是我個(gè)人的稱(chēng)呼,在下邊會(huì)用到,就是Jenkins的安裝位置),進(jìn)行編譯、打包和發(fā)布到容器中。

因此我們可以注意到的是,在Jenkins的宿主服務(wù)器中必須要有可以進(jìn)行:代碼clone(Git)、代碼編譯(Maven)、代碼運(yùn)行(Tomcat)的基本環(huán)境,其他文章上來(lái)就是安裝jenkins,忽略了一些基本的配置。

下邊就開(kāi)始講解各部分的安裝過(guò)程,如果已經(jīng)安裝某一步的環(huán)境,則可以以此進(jìn)行下一步。

一、Git的安裝

1、安裝依賴(lài)

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

注意:perl-ExtUtils-MakeMaker 也是這些安裝列表中的一員,不要因?yàn)轱@示的換行造成大家認(rèn)為是兩條執(zhí)行命令。

2、下載Git

選擇一個(gè)目錄,存放下載的git,例如我的是:/home/xuliugen/tmp,大家可以根據(jù)需求到官網(wǎng)下載相應(yīng)的版本

wget https://github.com/git/git/archive/v2.3.0.zip

3、解壓git

下載之后是這樣的,不要感到奇怪,直接解壓即可

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

因?yàn)橄螺d的是一個(gè)zip,所以使用命令將其解壓到git目錄下:

#參數(shù)-d 后邊的是解壓到的目錄
unzip v2.3.0 -d git 

4、編譯安裝git

進(jìn)入git目錄

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

將其安裝在“/usr/local/git”目錄下,命令如下:

make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

5、配置Git

sudo vim /etc/profile #編輯profile文件

然后而已看到這個(gè)文件已經(jīng)有很多配置了,只需要在最下邊添加git的路徑即可:

export PATH=/usr/local/git/bin:$PATH

將這段話放在最后邊,然后使用source命令應(yīng)用修改:

source /etc/profile

6、檢驗(yàn)Git是否安裝成功

git --version

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

二、Maven安裝

1、下載和解壓Maven

Maven的安裝包下載可以根據(jù)需求找到合適的版本,解壓之后,我的位置是:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

2、配置Maven

編輯:~/.bash_profile文件,根據(jù)注釋相應(yīng)的修改即可

# maven所在的目錄 
export M2_HOME=/home/xuliugen/software/maven/apache-maven-3.3.3
# maven bin所在的目錄 
export M2=$M2_HOME/bin
# 將maven bin加到PATH變量中 
export PATH=$M2:$PATH
# 配置JAVA_HOME所在的目錄,注意這個(gè)目錄下應(yīng)該有bin文件夾,bin下應(yīng)該有java等命令 
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0

然后運(yùn)行:source ~/.bash_profile 應(yīng)用修改

3、查看Maven是否安裝成功

使用:mvn -version 即可查看結(jié)果

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

三、Jenkins的部署

Jenkins的安裝很簡(jiǎn)單,直接將war放到容器中進(jìn)行運(yùn)行即可

1、將jenkins放到Tomcat中并解壓,啟動(dòng)Tomcat,成功啟動(dòng)之后訪問(wèn)ip和端口如下:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

啟動(dòng)成功之后,進(jìn)入的界面如上,表示啟動(dòng)成功。

2、安裝插件

在進(jìn)行配置之前,由于使用的是Git拉去代碼的方式,所以要首先安裝插件

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

找到:插件管理 在“可選插件”界面使用ctrl+f 搜索:Deploy to container Plugin 插件(這個(gè)是支持將代碼部署到tomcat容器的)

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

勾選,點(diǎn)擊下邊的按鈕:直接安裝,這個(gè)可能時(shí)間較久,等待即可。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

安裝完之后,如果勾選了:安裝完成后重啟jenkins 那么會(huì)重啟jenkins。

然后安裝:GIT plugin,何上邊的步驟一樣,如果使用上述的方式,由于網(wǎng)絡(luò)的原因,可能會(huì)安裝失敗,這就需要我們使用另一種方式進(jìn)行安裝。

使用同樣的方式在“可選插件”中搜索GIT plugin,找到之后點(diǎn)擊藍(lán)色鏈接(最好右鍵在新窗口中打開(kāi),放置覆蓋jenkins界面)

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

會(huì)跳轉(zhuǎn)到Git Plugin的插件信息地址:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

可以看到Plugin ID為:git,然后在:http://updates.jenkins-ci.org/download/plugins/ 這地地方搜索(ctrl+f)即可找到,點(diǎn)進(jìn)去,選擇一個(gè)版本進(jìn)行下載:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

點(diǎn)進(jìn)去下載的是一個(gè)hpi文件

然后同樣的在:系統(tǒng)管理–管理插件–高級(jí)Tab中,下拉可以看到上傳插件,然后選擇文件上傳剛才下載的hpi文件,即可,上傳完之后,會(huì)自動(dòng)安裝。上述安裝Deploy to container Plugin的方式也可以采用這種方式。

都安裝完之后,在已安裝Tab中可以看到剛安裝的插件:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

3、進(jìn)行配置

看到上圖中的左側(cè)有一個(gè):系統(tǒng)管理 點(diǎn)擊去

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

上邊的第一行黃色信息,表示編碼問(wèn)題,在Tomcat–>conf–>server.xml文件中修改即可

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

4、Jenkins系統(tǒng)設(shè)置

點(diǎn)擊:系統(tǒng)設(shè)置這里沒(méi)有強(qiáng)調(diào)的都設(shè)置為默認(rèn)即可。

(注意:版本2.60.2是在:系統(tǒng)設(shè)置–>Global Tool Configuration下)

(1)JDK,別名是任意的,選擇自己jdk的位置,jenkins推薦使用sun jdk而不是openjdk

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

(2)Git 的配置

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

注意這里的git位置,是可執(zhí)行文件的地址,即是git–bin–下的可執(zhí)行文件 git的目錄(類(lèi)似于java中bin下的java可執(zhí)行文件位置)

如果填錯(cuò),后期回報(bào)無(wú)法找到git等錯(cuò)誤(最下邊,其他問(wèn)題下的第三個(gè)問(wèn)題),請(qǐng)大家注意!

(3)Ant的配置

由于本次并沒(méi)有用到Ant,不做配置,大家可以根據(jù)配置進(jìn)行設(shè)置

(4)Maven的配置,選擇自己maven的存放位置

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

(5)Jenkins Location

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

這里配置的是ip加端口和一個(gè)路徑名稱(chēng),郵箱要進(jìn)行設(shè)定,后期會(huì)發(fā)送jenkins執(zhí)行的結(jié)果到郵件中

(6)郵件通知

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

這里我配置的QQ郵箱,大家根據(jù)情況進(jìn)行設(shè)置相應(yīng)的smtp服務(wù)器,用戶(hù)名、密碼分別為自己的QQ郵箱何密碼,如果不進(jìn)行設(shè)置,后期jenkins構(gòu)建項(xiàng)目的時(shí)候會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息很好理解也很好找到是沒(méi)有配置郵件的問(wèn)題。

首先,要保證郵件的smtp和pop是開(kāi)啟狀態(tài)的,這樣的話才可以通過(guò)驗(yàn)證:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

最后點(diǎn)擊下邊的應(yīng)用、保存即可

5、Configure Global Security

然后回到系統(tǒng)管理,看到Configure Global Security 點(diǎn)擊進(jìn)去,根據(jù)下邊進(jìn)行配置即可

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

點(diǎn)擊應(yīng)用 保存之后,然后在屏幕的右上角,有一個(gè)登錄-注冊(cè) ,點(diǎn)擊注冊(cè)即可實(shí)現(xiàn)用戶(hù)的登錄。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

這里,如果是公司內(nèi)網(wǎng)的話,或者最后搭建的jenkins是公司使用,那么最好用戶(hù)名和密碼為公司的賬戶(hù)密碼,郵件也是公司的郵件,這樣的話方便后期的操作。

至此Jenkins的基本配置完成。

創(chuàng)建Job

1、創(chuàng)建項(xiàng)目

點(diǎn)擊登錄之后,會(huì)看到下邊的界面中:My Views

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

點(diǎn)擊進(jìn)去

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

點(diǎn)擊:創(chuàng)建一個(gè)新任務(wù)

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

選擇maven項(xiàng)目,點(diǎn)擊OK,這里的Item名稱(chēng)是后邊需要用到的,下邊的配置也有用到這個(gè)的,大家可以很好的對(duì)應(yīng)。

2、進(jìn)行項(xiàng)目的配置

(1)源碼管理選擇Git,這個(gè)時(shí)候添加url之后,下邊會(huì)報(bào)錯(cuò),顯示讓去認(rèn)證,認(rèn)證即可(其他的安裝中又遇到這個(gè)問(wèn)題),如果認(rèn)證失敗,請(qǐng)下載認(rèn)證Github Authentication plugin插件,這個(gè)在插件管理的可選插件中搜索安裝。

我這里的rul是我在gitos上的一個(gè)項(xiàng)目,credentials是我在gitos上的用戶(hù)名和密碼認(rèn)證。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

(2)構(gòu)建觸發(fā)器,就是什么時(shí)候執(zhí)行jenkins的自動(dòng)化部署

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

選擇第一個(gè),其他的基本是定時(shí)執(zhí)行什么的,大家可以自行查找,查看如何設(shè)置,根據(jù)需要進(jìn)行配置

(3)Post Steps

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

選擇上圖中的,然后下邊 的Execute shell如下,腳本的編寫(xiě)在下邊進(jìn)行了詳細(xì)的說(shuō)明:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

#!/bin/bash 
#copy file and restart tomcat 

export JAVA_HOME=/data/home/server/jdk
export CATALINA_HOME=/home/xuliugen/dubbo-provider
export CATALINA_BASE=/home/xuliugen/dubbo-provider
export BUILD_ID=dontKillMe

tomcat_path=/home/xuliugen/dubbo-provider
project=dubbo-provider
war_name=dubbo-provider.war 
war_path=http://132.153.131.237/:8022/jenkins/job/ManenDemo/ws/targetserver_port=8082 
file_path=~/.jenkins/jobs/ManenDemo/workspace/spring_provider/target

$tomcat_path/bin/shutdown.sh 

sleep 3s 

echo "rm -rf ${tomcat_path}/webapps/ROOT/*"

rm -rf ${tomcat_path}/webapps/ROOT/*

cd $file_path

cp ${war_name} ${tomcat_path}/webapps/ROOT/

cd $tomcat_path/webapps/ROOT/

unzip ${war_name}

rm -rf ${war_name}

sleep 5s 

#$tomcat_path/bin/startup.sh

cd $tomcat_path/bin/
./startup.sh

echo "server restarted"

(4)郵件通知

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

至此基本設(shè)置完畢,點(diǎn)擊應(yīng)用、保存

(5)立即構(gòu)建

點(diǎn)擊左上角的立即構(gòu)建

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

然后看到下邊的Build History 點(diǎn)擊藍(lán)色的進(jìn)去,會(huì)進(jìn)入Console

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

下邊是進(jìn)行jar的下載,會(huì)下載到宿主服務(wù)器的maven倉(cāng)庫(kù)中:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

下邊的信息表示項(xiàng)目編譯通過(guò):

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

下邊是運(yùn)行腳本的信息:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

腳本的分析

在Jenkins的服務(wù)器上查看:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

可以看到在/root/.jenkins這個(gè)目錄,實(shí)際存放了Jenkins拉取Git代碼之后編譯好war的位置,到此,大家也許都該明白了,編譯后的位置就在這里?。∪缓?,接著是部署到宿主服務(wù)器的Tomcat容器中,如何將編譯好的war放到tomcat中,這就需要腳本來(lái)完成,也是上述過(guò)程中配置的過(guò)程,下邊對(duì)每一行進(jìn)行分析。

首先我們應(yīng)該明白,將編譯好的war放到tomcat容器中,我們首先要知道這兩個(gè)的位置:編譯后war的位置和目標(biāo)容器的位置,很顯然我們是知道的。

1、腳本文件的頭,這個(gè)沒(méi)得說(shuō)

#!/bin/bash 

2、環(huán)境變量設(shè)置

export JAVA_HOME=/data/home/server/jdk
export CATALINA_HOME=/home/xuliugen/dubbo-provider
export CATALINA_BASE=/home/xuliugen/dubbo-provider
export BUILD_ID=dontKillMe

上邊的各個(gè)位置,大家也許都知道,CATALINA_HOME和CATALINA_BASE的位置就是Tomcat容器的位置,這里根據(jù)需求我將Tomcat容器的名字改為dubbo-provider了,如果改成/home/xuliugen/tomcat是不是更好理解。

export BUILD_ID=dontKillMe這一句很重要,因?yàn)樵搄ob啟動(dòng)完后執(zhí)行下一job,jenkins直接把tomcat進(jìn)程殺了,所以無(wú)論腳本中怎么寫(xiě)了啟動(dòng)tomcat的命令,他是不會(huì)啟動(dòng)的。雖然上述截圖中顯示了Tomcat started、server restarted但是訪問(wèn)項(xiàng)目地址是訪問(wèn)不了的,這在:其他問(wèn)題的第二個(gè)說(shuō)明了這個(gè)問(wèn)題。

3、其他路徑位置

tomcat_path=/home/xuliugen/dubbo-provider #我的Tomcat位置
project=dubbo-provider #我的項(xiàng)目編譯的名稱(chēng)
war_name=dubbo-provider.war #最后打包的war名稱(chēng)
war_path=http://132.153.131.237/:8022/jenkins/job/ManenDemo/ws/targetserver_port=8082 #宿主服務(wù)器的ip何端口
file_path=~/.jenkins/jobs/ManenDemo/workspace/spring_provider/target #編譯好的war包存放地址

這個(gè):war_path 其實(shí)也就是Jenkins的宿主服務(wù)器位置IP,端口為jenkins運(yùn)行的端口,大家只需要將ip地址端口ManenDemo換成自己的即可;

file_path:就是Jenkins幫我們編譯好的項(xiàng)目war的位置,上圖中大家也可以看到,并且大家不可以完全按照上邊的路徑,要找到自己宿主服務(wù)器上實(shí)際war的位置,進(jìn)行設(shè)置。

4、耳熟能詳?shù)膱?zhí)行命令

下邊就是我們?cè)谑褂迷挤绞剑渴饂ar的命令,大家很簡(jiǎn)單的可以理解,其中:

注意:個(gè)人寫(xiě)腳本的能力有限,所以我是假設(shè)項(xiàng)目已經(jīng)在運(yùn)行的情況下,因此我上來(lái)就是先關(guān)閉Tomcat,(正確的方式,應(yīng)該判斷端口是否打開(kāi),如果本身tomcat未啟動(dòng),我的這種情況,會(huì)在Jenkins的Console中報(bào)拒絕連接的問(wèn)題,如下圖)。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

另外用到了sleep 3s 這個(gè)可以讓線程休眠一下,這樣的話可以看一下tomcat的日志信息。

下邊的腳本就是刪除原來(lái)容器中的文件,然后將編譯好的war移動(dòng)到容器中,解壓。運(yùn)行tomcat。

$tomcat_path/bin/shutdown.sh 
sleep 3s 
echo "rm -rf ${tomcat_path}/webapps/ROOT/*"
rm -rf ${tomcat_path}/webapps/ROOT/*
cd $file_path
cp ${war_name} ${tomcat_path}/webapps/ROOT/
cd $tomcat_path/webapps/ROOT/
unzip ${war_name}
rm -rf ${war_name}
sleep 5s 
cd $tomcat_path/bin/
./startup.sh
echo "server restarted"

將項(xiàng)目布署到遠(yuǎn)程Tomcat

上述創(chuàng)建項(xiàng)目,可以看出是在本地進(jìn)行執(zhí)行的,也就是進(jìn)行編譯后執(zhí)行的Tomcat是何Jenkins的宿主服務(wù)器是在一起的,這很顯然不符合我們常規(guī)的公司及其部署的方案,通常是將編譯之后的代碼在運(yùn)行到其他的Tomcat服務(wù)器中的,下邊有兩種方式,將編譯之后的項(xiàng)目部署到遠(yuǎn)程服務(wù)器中。

1、使用腳本的方式部署到遠(yuǎn)程服務(wù)器

2、使用Deploy to container Plugin插件部署到遠(yuǎn)程服務(wù)器

上述的開(kāi)始階段就安裝了這個(gè)插件,下邊就開(kāi)始發(fā)揮其作用。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

在創(chuàng)建的Job左側(cè)點(diǎn)擊設(shè)置,其他配置何在遠(yuǎn)程搭建項(xiàng)目是一致的,不同的是在這個(gè)地方:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

以前我們?cè)诰幾g之后,將編譯后的通過(guò)腳本補(bǔ)助到Jenkins的宿主服務(wù)器,使用插件,就不需要這種方式了。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

還有就是的在構(gòu)建之后,將編譯后的文件**/target/dubbo-provider.war(就是上邊的~/.jenkins/jobs/ManenDemo/workspace/spring_provider/target目錄)部署到下邊的遠(yuǎn)程Tomcat容器中;這里Containers的用戶(hù)名和密碼是Tomcat管理員的賬戶(hù)密碼,Tomcat URL 就是你需要進(jìn)行部署的遠(yuǎn)程Tomcat服務(wù)器的ip和端口。

這里需要進(jìn)行設(shè)置的是遠(yuǎn)程Tomcat的管理員信息,修改遠(yuǎn)程Tomcat容器下的conf–tomcat-users.xml文件,在內(nèi)添加下邊的內(nèi)容:

<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager,manager-script,manager-gui"/>

即可實(shí)現(xiàn)遠(yuǎn)程的訪問(wèn),測(cè)試是可以通過(guò)的,但是有一個(gè)問(wèn)題,通過(guò)這種方式,只將war復(fù)制到了wenapps下:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

因此這種方式的話,我們?cè)L問(wèn)的時(shí)候必須是ip、端口和項(xiàng)目名,例如:

http://115.159.151.247:8030/dubbo-provider/

當(dāng)然這種方式 也是在實(shí)際的應(yīng)用中不提倡的,解決方式就是修改Tomcat默認(rèn)的訪問(wèn)路徑即可,設(shè)置Tomcat–conf–server.xml文件如下:

在Host節(jié)點(diǎn)之間添加:

<Context path="" docBase="dubbo-provider" debug="0" reloadable="true" />

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

或者在docBase里邊輸入項(xiàng)目的絕對(duì)路徑,例如我的:

<Context path="" docBase="/home/xuliugen/dubbo-provider/webapps/dubbo-provider" debug="0" reloadable="true" />

然后重啟Tomcat,這樣的話,http://ip:8030/dubbo-provider/ 和http://ip:8030這兩種方式都可以訪問(wèn)到該項(xiàng)目。

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

后期補(bǔ)充:

上邊的是設(shè)置Context Path,使得默認(rèn)部署的時(shí)候會(huì)在webapps下作為一個(gè)單獨(dú)的容器,其實(shí)可以直接將其設(shè)置為/ ,因?yàn)門(mén)omcat默認(rèn)的訪問(wèn)路徑指向的就是ROOT,所以如果設(shè)置為ROOT的話就不需要在進(jìn)行上邊的設(shè)置了,如下:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

自動(dòng)部署war包到ROOT路徑,也就是網(wǎng)站的根目錄時(shí),deploy插件的”Context path”要填寫(xiě):”/”,而不是”ROOT”或者”/ROOT”,不然自動(dòng)部署會(huì)失敗,有類(lèi)似以下錯(cuò)誤:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

其他問(wèn)題

1、部署項(xiàng)目的時(shí)候報(bào)錯(cuò)

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

這個(gè)大家很好理解,是因?yàn)橄螺djar失敗的問(wèn)題,由于是第一次使用Maven,需要第一次下載很多jar到Maven倉(cāng)庫(kù)中,由于網(wǎng)絡(luò)的問(wèn)題下載失敗,大家可以多次構(gòu)建讓他重新下載,或者直接到:https://repo.maven.apache.org/maven2 根據(jù)報(bào)錯(cuò)的jar,在maven2中找到自己缺失的jar,然后在/root/.m2/repository 相應(yīng)的位置添加jar即可。

2、編寫(xiě)腳本文件啟動(dòng)tomcat但是項(xiàng)目仍然運(yùn)行不起來(lái)

就是上邊說(shuō)道的問(wèn)題了:

添加:export BUILD_ID=dontKillMe,因?yàn)樵搄ob啟動(dòng)完后執(zhí)行下一job,jenkins直接把tomcat進(jìn)程殺了,所以無(wú)論腳本中怎么寫(xiě)了啟動(dòng)tomcat的命令,他是不會(huì)啟動(dòng)的。

3、遇到下邊的問(wèn)題

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

這就是在系統(tǒng)設(shè)置的時(shí)候,設(shè)置的git的地址不對(duì),上述已經(jīng)說(shuō)明了,應(yīng)該是git的可執(zhí)行文件的地址,如果只是git的目錄,是無(wú)法找到git這個(gè)可執(zhí)行文件的,如下:

使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法

可以看出使用的是這個(gè):/usr/local/git/bin/git 進(jìn)行g(shù)it倉(cāng)庫(kù)的配置何代碼的拉取,因此這設(shè)置git的目錄,jenkins默認(rèn)是不會(huì)找bin目錄下的git可執(zhí)行文件的。

至此,Jenkins的部署完成,希望對(duì)大家有所幫助。也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站名稱(chēng):使用Jenkins配置Git+Maven的自動(dòng)化構(gòu)建的方法
標(biāo)題網(wǎng)址:http://bm7419.com/article10/jdddgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)服務(wù)器托管、Google企業(yè)建站、商城網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)