【原】Jenkins持續(xù)集成環(huán)境搭建之創(chuàng)建java項(xiàng)目的job【centos6.5 java maven git 項(xiàng)目】

一、構(gòu)建一個(gè)maven項(xiàng)目
在jenkins主頁(yè)上,左側(cè),選擇“新建”,然后填寫(xiě)項(xiàng)目名稱,選擇“構(gòu)建一個(gè)maven項(xiàng)目”


二、Git配置
保存之后,進(jìn)入詳細(xì)配置頁(yè)面:
這里的源碼管理:選擇git,輸入代碼的git地址,Credentials,填寫(xiě)代碼分支(默認(rèn)是*/master主分支)



Credentials,需要點(diǎn)擊Add按鈕,添加具體的git憑證,
①如果當(dāng)前git項(xiàng)目配置為通過(guò)用戶名+密碼認(rèn)證,則kind選擇username with password;



centos的root用戶生成的公鑰密鑰信息位置信息如下:

②如果用的是公鑰+私鑰的方式,則kind需要選擇:ssh username with private key
在private key里面填寫(xiě)私鑰,私鑰 位置(在開(kāi)通git代碼權(quán)限時(shí)生成):

windows下:C:\Users\Administrator.ssh\id_rsa
centos 下 /root/.ssh/id_rsa
文件內(nèi)容:


此時(shí)需要把這個(gè)id_rsa文件中的所有內(nèi)容都粘貼到文本框中(包括BEGIN RSA PRIVATE KEY和END RSA PRIVATE KEY這兩行)



三、構(gòu)建項(xiàng)目觸發(fā)器
build periodically:周期性構(gòu)建,比如每隔十分鐘構(gòu)建一次,是通過(guò)cron表達(dá)式控制的,具體可以點(diǎn)擊右側(cè)的幫助
poll scm:每隔多長(zhǎng)時(shí)間pull一次代碼,如果有更新,則編譯,也是通過(guò)cron表達(dá)式控制的



點(diǎn)擊后面的?標(biāo)識(shí)可以查看說(shuō)明:

配置maven編譯的pom文件和部署腳本:
root pom文件:由于現(xiàn)在當(dāng)前文章中tool代碼中的主pom.xml就在根目錄下,所以root pom直接填寫(xiě):pom.xml
如果不是在根目錄下,例如:toolsamdin項(xiàng)目中的pom.xml文件,則root pom直接填寫(xiě):toolsamdin\pom.xml


goals and options:這里調(diào)用maven的命令:clean install(如果項(xiàng)目中配置了多套配置文件profile,這里需要應(yīng)用id=test的profile這套配置,則此處填寫(xiě):clean install -P test)
這里我們簡(jiǎn)單的測(cè)試一下,寫(xiě)一個(gè) clean install
點(diǎn)擊立即構(gòu)建:


第一次由于要拉代碼,所以比較慢,過(guò)了一會(huì)之后,出現(xiàn)如下變化:

這里藍(lán)色的圈表示成功,紅色表示失敗
點(diǎn)擊 # 進(jìn)去之后

點(diǎn)擊 Console Output 查看本次構(gòu)建的輸出記錄 ,最底部顯示成功,如果有錯(cuò)誤的話,這里會(huì)顯示失敗信息的。

這時(shí)候,去我們的centos服務(wù)器的/root/.jenkins/jobs 目錄下查看變化,首先多了一個(gè)weds-common文件夾,這個(gè)是根據(jù)我們的job的名字創(chuàng)建的。
進(jìn)入目錄中 cd weds-common目錄,查看

這里是項(xiàng)目的構(gòu)建記錄
進(jìn)入 cd /root/.jenkins/workspace/ 目錄查看

這里多了我們的項(xiàng)目文件夾,這個(gè)是從我們的git服務(wù)器上pull下來(lái)的代碼
至此,本機(jī)的拉取,構(gòu)建代碼大功告成。
四、構(gòu)建項(xiàng)目發(fā)布到遠(yuǎn)程linux centos 服務(wù)器
點(diǎn)擊Post Steps,如圖是一個(gè)正確的配置,報(bào)錯(cuò)可以不管。

其中SSH Server是我們之前在系統(tǒng)設(shè)置 Publish over SSH 中設(shè)置好的
post steps需要發(fā)布到遠(yuǎn)程linux,所以選擇:

然后填寫(xiě)目標(biāo)war或jar到遠(yuǎn)程linux機(jī)器上的哪個(gè)目錄下,然后調(diào)用遠(yuǎn)程機(jī)器上的shell腳本,自動(dòng)重啟tomcat,自動(dòng)備份等功能
其 中Source files的目錄是基于當(dāng)前job的目錄(可以從jenkins的安裝目錄下找到):例如當(dāng)前job名稱為weds-common,則對(duì)于root用戶,Source files中的目錄是相對(duì)于/root/.jenkins/workspace/weds-common目錄下的,因此,如果我們要發(fā)送weds-common下的weds-pay項(xiàng)目的war包,這里需要填寫(xiě):weds-pay/target/weds-pay.war
Remove prefix:表示需要移除的目錄,比如這里填寫(xiě)weds-pay/target,則表示發(fā)布時(shí),只把weds-pay.war發(fā)布到遠(yuǎn)程linux,而不包含weds-pay/target目錄結(jié)構(gòu)
Remote directory:表示需要把編譯好的war包發(fā)布到遠(yuǎn)程linux的哪個(gè)目錄下
Exec command:需要執(zhí)行的shell命令,shell命令在遠(yuǎn)程linux服務(wù)器上,比如。一般是需要執(zhí)行:停止tomcat,復(fù)制war到tomcat,備份,啟動(dòng)tomcat等。
注:本人在配置的是soure files 路徑填寫(xiě)有問(wèn)題,導(dǎo)致構(gòu)建的時(shí)候, Console Output一直報(bào)SSH: Transferred 0 file(s),關(guān)于相對(duì)路徑的問(wèn)題,如果搞不清楚是該相對(duì)于誰(shuí),請(qǐng)看下圖:

四種第一個(gè)截圖里的 test.sh的內(nèi)容:該shell命令的作用是備份上傳文件,刪除tomcat中原來(lái)的項(xiàng)目文件(由于tomcat自動(dòng)解壓縮,所以這里刪除原來(lái)的文件,等一小會(huì)后會(huì)自動(dòng)上傳文件并且解壓縮)

#!/bin/bash
#傳參測(cè)試腳本
export LANG="en_US.UTF-8"
PROJECT=$1
BAK_DIR=/usr/local/autodeploy/bak/$PROJECT
TEMP_DIR=/usr/local/autodeploy/temp/$PROJECT
TOMCAT_HOME=/usr/local/tomcat
if [ -f $TEMP_DIR/$PROJECT.war ]; then
    #sleep 3
    if [ -f $TOMCAT_HOME/webapps/$PROJECT.war ]; then
        echo "===================deleteing old war==================="
        rm -rf $TOMCAT_HOME/webapps/$PROJECT.war
        rm -rf $TOMCAT_HOME/webapps/$PROJECT
    else
        echo "===================old war not exits==================="
    fi
 
    echo "===================copying new war==================="
    cp $TEMP_DIR/$PROJECT.war $TOMCAT_HOME/webapps/$PROJECT.war
 
    echo "===================baking war==================="
    mkdir -p $BAK_DIR
    cp $TOMCAT_HOME/webapps/$PROJECT.war $BAK_DIR/"$PROJECT"_`date +%Y%m%d%H%M%S`.war
 
    echo "===================deleteing temp file==================="
    rm -rf $TEMP_DIR/$PROJECT.war
    echo "===================finished=========================="
else
    echo "===================temp file not exits==================="
fi

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,673評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,610評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,939評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,668評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,004評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評(píng)論 3 449
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,173評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,705評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,426評(píng)論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,656評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,833評(píng)論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,247評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,580評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,371評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,621評(píng)論 2 380

推薦閱讀更多精彩內(nèi)容