jenkins 自動(dòng)遠(yuǎn)程發(fā)布到服務(wù)器
1.安裝jenkins
安裝過(guò)程:自行百度
英文不好的,不要裝最新版的jenkins。建議安裝Jenkins ver. 2.138.4,此版本可以設(shè)置中文語(yǔ)言,設(shè)置如圖

2.安裝主要插件
系統(tǒng)管理 > 插件管理,在可選插件中,搜索插件

1)Publish Over SSH
Send build artifacts over SSH
用于上傳發(fā)布構(gòu)建之后的war、jar包等資源,然后執(zhí)行服務(wù)器腳本命令,功能很強(qiáng)大
2)Dingding[釘釘] Plugin

安裝釘釘通知的插件。用于構(gòu)建完成之后的消息通知。
3.配置環(huán)境
插件安裝完成之后,需要配置環(huán)境。
1)系統(tǒng)管理>系統(tǒng)設(shè)置

- Hostname:主機(jī)地址(ip或者域名)
- Port:端口號(hào)
- Root Repository Path:連接之后的默認(rèn)目錄
- User Name:用戶名
- Password/Passphrase:密碼秘鑰
2)系統(tǒng)管理>全局工具配置
配置maven信息:
設(shè)置setting文件

設(shè)置maven安裝目錄

配置JDK
配置jdk安裝目錄

4.創(chuàng)建job
1)創(chuàng)建一個(gè)Job,名為MyTestJob
任務(wù)名稱可以自定義,選擇構(gòu)建【構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目】

2)構(gòu)建設(shè)置
如果磁盤空間小,這里可以設(shè)置自動(dòng)刪除策略。如圖設(shè)置,表示保留2天的構(gòu)建,最多2個(gè)

3)源碼管理
本地使用的SVN,所以以SVN為例。

Repository URL: SVN的資源地址,路徑直接到項(xiàng)目路徑【本文演示的也是maven項(xiàng)目】如:項(xiàng)目名稱為myProject,那么svn地址就要寫到myProject,https://192.168.1.XXX:XXX/svn/XXX/XXX/myProject
Credentials: 先添加個(gè)SVN賬號(hào),點(diǎn)add

ID設(shè)置一個(gè)唯一的,其他就是用戶名密碼。
設(shè)置完成之后,就可以下拉選擇

其他的就默認(rèn)
4)構(gòu)建觸發(fā)器
定時(shí)構(gòu)建: 不管SVN或Git中數(shù)據(jù)有無(wú)變化,均執(zhí)行定時(shí)化的構(gòu)建任務(wù) ;
輪詢SCM: 只要SVN或Git中數(shù)據(jù)有更新,則執(zhí)行構(gòu)建任務(wù);
構(gòu)建語(yǔ)法說(shuō)明:
格式為:* * * * (五個(gè)星);
第一個(gè)表示分鐘,取值0~59
第二個(gè)表示小時(shí),取值0~23
第三個(gè)表示一個(gè)月的第幾天,取值1~31
第四個(gè)表示第幾月,取值1~12
第五個(gè)表示一周中的第幾天,取值0~7,其中0和7代表的都是周日
使用舉例
每隔10分鐘構(gòu)建一次:H/5 * * * *
每隔1小時(shí)構(gòu)建一次: H H/1 * * *
每月30號(hào)構(gòu)建一次: H H 30 * *
定時(shí)構(gòu)建和輪詢SCM使用互不沖突,可以需要根據(jù)項(xiàng)目情況配置。我這里測(cè)試環(huán)境使用【輪詢 SCM】已經(jīng)能滿足需求。每五分鐘檢查一次svn更新,如有更新則進(jìn)行構(gòu)建。

5)構(gòu)建
其實(shí)構(gòu)建之前可以設(shè)置構(gòu)建環(huán)境,可以根據(jù)項(xiàng)目需要去設(shè)置。
基于maven可以使用maven進(jìn)行構(gòu)建

Maven 版本: 選擇之前配置的maven版本
目標(biāo): 設(shè)置maven構(gòu)建語(yǔ)句【不用寫mvn】

配置完maven信息之后,新增ssh配置:

上傳服務(wù)器文件路徑說(shuō)明:
最終上傳到服務(wù)器的文件路徑為:
系統(tǒng)設(shè)置里的Remote Directory + 構(gòu)建里的 Remote Directory + Source files
如圖即為:A + C + B

Source files: 相對(duì)于workspace目錄,其實(shí)也就相當(dāng)于在myproject目錄下,maven構(gòu)建之后,會(huì)在該目錄下生成target目錄,所以此處可以填寫target\XXX.war
Remove prefix: 移除Source files的前綴。填寫target 如果刪除target的話,最終上傳的時(shí)候也會(huì)帶著target目錄
Remote Directory: 在系統(tǒng)設(shè)置里的Remote Directory 下,生成此處的Remote Directory目錄
Exec command: 上傳之后執(zhí)行的命令行,可以在服務(wù)器制作sh腳本,比如停止tomcat,拷貝war包到tomcat,然后啟動(dòng)tomcat。
此處命令后期可以在補(bǔ)充上。
6)構(gòu)建后操作
當(dāng)然jenkins自動(dòng)幫我們發(fā)布了,我們不可能時(shí)時(shí)刻刻都盯著jenkins控制臺(tái),我們需要它提醒我們,我們可以選擇配置郵件提醒等等,為了方便,我們可以使用釘釘通知。
釘釘群設(shè)置

創(chuàng)建個(gè)團(tuán)隊(duì)釘釘群,在釘釘群設(shè)置里添加【群機(jī)器人】,點(diǎn)擊添加

選擇自定義,設(shè)置完頭像和名稱

之后會(huì)得到一個(gè)url
https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXX
access_token參數(shù)下面設(shè)置需要使用
釘釘通知設(shè)置
新增構(gòu)建后操作,選擇訂單通知。

jenkins URL: 輸入當(dāng)然jenkins的訪問地址
釘釘access token:即為釘釘群機(jī)器人的url中的access_token參數(shù)
其他的就是選擇釘釘機(jī)器人提醒的時(shí)機(jī)。添加完成之后,jenkins構(gòu)建就會(huì)及時(shí)提醒團(tuán)隊(duì)成員。