windows使用jenkins 搭建 .net 自動(dòng)發(fā)布IIS站點(diǎn)平臺(tái)

前言

  什么是持續(xù)集成呢娶靡?Continuous integration(CI)送膳。持續(xù)集成是一種軟件開(kāi)發(fā)實(shí)踐艾帐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成他們的工作,通常每個(gè)成員至少集成一次跷敬,也就意味著每天可能會(huì)發(fā)生多次集成讯私。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布西傀,自動(dòng)化測(cè)試)來(lái)驗(yàn)證斤寇,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過(guò)程可以大大減少集成的問(wèn)題拥褂,讓團(tuán)隊(duì)能夠更快的開(kāi)發(fā)內(nèi)聚的軟件娘锁。

  如果沒(méi)有持續(xù)集成會(huì)有哪一些問(wèn)題呢?模塊項(xiàng)目接口部署不及時(shí)饺鹃,接口不通莫秆。每次需要手動(dòng)打包最新的代碼進(jìn)行部署、發(fā)布代碼悔详、線上部署都是純手工镊屎。容易出錯(cuò)。浪費(fèi)時(shí)間茄螃。

  現(xiàn)在加上持續(xù)集成解決的問(wèn)題呢缝驳?項(xiàng)目構(gòu)建自動(dòng)化、集成的詳細(xì)信息及歷史記錄的記錄责蝠、使用統(tǒng)一的管理党巾、固定規(guī)定的部署流程、每天至少集成一次霜医。

?環(huán)境:

? ? ?jenkins服務(wù)器:win10系統(tǒng)? ?(安裝jenkins齿拂、git、Visual Studio 2017)

? ? ?IIS目標(biāo)服務(wù)器:winserver2016系統(tǒng)(安裝IIS 肴敛、FTP)

安裝

  這里我采用的是使用Tomcat配合jenkins一起使用的來(lái)達(dá)成持續(xù)集成的目的署海。

  一、安裝Tomcat

必須有jdk医男,這里用的是jdk1.8

?1砸狞、從官網(wǎng)下載Tomcat。下載地址:https://tomcat.apache.org

apache-tomcat-8.5.49-windows-x64.zip

下載后解壓到C盤(pán)根目錄并重命名镀梭。

C:\apache-tomcat

2刀森、配置環(huán)境變量

在classpath這個(gè)變量中加入C:\apache-tomcat\bin;

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;C:\apache-tomcat\bin;

新建JAVA_HOME變量

C:\Program Files\java\jdk1.8.0_211

3.啟動(dòng)Tomcat

進(jìn)入Tomcat中bin目錄,雙擊startup.bat

上圖界面代表啟動(dòng)成功报账,成功后不要關(guān)閉研底,否則就關(guān)掉了Tomcat埠偿。

測(cè)試Tomcat是否啟動(dòng)成功:

在瀏覽器地址欄輸入http://localhost:8080/

若出現(xiàn)下圖界面,則啟動(dòng)成功榜晦。


二冠蒋、安裝Visual Studio 2017、Git-2.24.0.2-64-bit

? ? ? 下載并安裝Visual Studio 2017

? ? ? ?下載并安裝Git-2.24.0.2-64-bit?

驗(yàn)證是否安裝成功乾胶,右鍵-“git bash here”

git --version


三抖剿、目標(biāo)服務(wù)器上安裝IIS、FTP服務(wù)

?新建一個(gè)站點(diǎn)test.com

新建一個(gè)FTP站點(diǎn)208ftp










身份驗(yàn)證選擇基本

授權(quán)選擇指定角色或用戶(hù)組(指定可以訪問(wèn)FTP的賬戶(hù)识窿,沒(méi)有賬戶(hù)請(qǐng)新建)

權(quán)限(讀寫(xiě)權(quán)限)

完了之后可以連接FTP驗(yàn)證一下(注意新建防火墻入規(guī)則)

四斩郎、安裝Jenkins

一切準(zhǔn)備就緒之后,就開(kāi)始安裝jenkins了腕扶,下載地址:jenkins.io/download/孽拷。前往地址下載jenkins的 war包。

jenkins-2.190.3.zip

然后將war包放置在前面安裝的Tomcat的目錄之下(C:\apache-tomcat\webapps)半抱。



然后在瀏覽器中輸入http://localhost:8080/jenkins/脓恕。訪問(wèn),安裝成功的話就會(huì)出現(xiàn)jenkins的界面

這里根據(jù)提示我們找到目錄之下就可以獲取密碼了窿侈。接下來(lái)會(huì)出現(xiàn)插件安裝的一個(gè)選擇炼幔,新手直接選擇新手入門(mén)推薦安裝就好了。


這里有時(shí)會(huì)出現(xiàn)安裝失敗或者鏈接失敗的情況史简,多試幾次就好了乃秀。一般是網(wǎng)絡(luò)的問(wèn)題。

創(chuàng)建管理員用戶(hù)之后就可以正式開(kāi)始配置jenkins了圆兵。

配置

安裝Publish Over FTP插件

?配置Publish Over FTP



注意remote directory為 “/”?

注意 中文配置為GB2312

?配置完后可以使用“test configuration”測(cè)試下FTP 是否連的通


配置git跺讯、Visual Studio 2017







新建一個(gè)項(xiàng)目 whenchattest



MSBuild Version? :選擇之前配置好的msbuild,就是Visual Studio 2017

MSBuild Build File : 需要編譯的工程文件目錄殉农,我這里是選擇的工程文件里C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站點(diǎn)測(cè)試\PortTestNew\PortTestNew.csproj? ? ? 后綴是.csproj的工程文件

(默認(rèn)Git拉取源碼存放的目錄是C:\Users\jenkins\.jenkins\workspace)

Command Line Arguments : 編譯文件

/t:Rebuild? #重新生成/p:VisualStudioVersion=15.0? #Visual Studio 2017對(duì)應(yīng)的是15.0/p:DeployOnBuild=True? ? ? #是否打包/p:Configuration=Release? #生成Release版本/p:OutputPath="C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站點(diǎn)測(cè)試\PortTestNew\bin"? ? #項(xiàng)目輸出位置/p:WebProjectOutputDir="C:\Users\jenkins\.jenkins\workspace\whenchattest\test.whenchat.com"#項(xiàng)目dll輸出位置刀脏,發(fā)布的時(shí)候就是把生產(chǎn)的這個(gè)文件里的內(nèi)容拷貝到IIS站點(diǎn)的目錄

  *注:如果生成以后需要使用ftp進(jìn)行發(fā)布的話,請(qǐng)將項(xiàng)目生成到\Jenkins\workspace\中去超凳。同時(shí)路徑中存在空格時(shí)愈污,要在路徑上加上雙引號(hào),否則會(huì)出先報(bào)錯(cuò):

MSBUILD : error MSB1008: 只能指定一個(gè)項(xiàng)目轮傍。


VisualStudioVersion=15.0? 查看版本號(hào)? C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config




通過(guò)ftp發(fā)布

點(diǎn)擊增加構(gòu)建后操作步驟暂雹,并選擇下圖紅框內(nèi)的選項(xiàng)。





Source files:表示當(dāng)前上傳的文件位置创夜,該位置默認(rèn)根目錄為“Jenkins\workspace\項(xiàng)目名”文件夾杭跪。

Remove prefix:表示上傳時(shí),是否排除忽略某些文件夾。如上圖中涧尿,如果該項(xiàng)為空桨醋,則在FTP指定位置上傳Build文件夾及其內(nèi)容。

?Remote directory:ftp的目標(biāo)目錄

自此配置構(gòu)架现斋、發(fā)布系統(tǒng)完成



表示構(gòu)建完成,如果構(gòu)建失敗偎蘸,我們可以現(xiàn)在jenkins服務(wù)器上使用Visual Studio 2017庄蹋,手動(dòng)構(gòu)建,看看是什么原因并解決

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末迷雪,一起剝皮案震驚了整個(gè)濱河市限书,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌章咧,老刑警劉巖倦西,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赁严,居然都是意外死亡扰柠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)疼约,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卤档,“玉大人,你說(shuō)我怎么就攤上這事程剥∪霸妫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵织鲸,是天一觀的道長(zhǎng)舔腾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)搂擦,這世上最難降的妖魔是什么稳诚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮盾饮,結(jié)果婚禮上采桃,老公的妹妹穿的比我還像新娘。我一直安慰自己丘损,他們只是感情好普办,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著徘钥,像睡著了一般衔蹲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,115評(píng)論 1 296
  • 那天舆驶,我揣著相機(jī)與錄音橱健,去河邊找鬼。 笑死沙廉,一個(gè)胖子當(dāng)著我的面吹牛拘荡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播撬陵,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼珊皿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了巨税?” 一聲冷哼從身側(cè)響起蟋定,我...
    開(kāi)封第一講書(shū)人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎草添,沒(méi)想到半個(gè)月后驶兜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡远寸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年抄淑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片而晒。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝇狼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倡怎,到底是詐尸還是另有隱情迅耘,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布监署,位于F島的核電站颤专,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏钠乏。R本人自食惡果不足惜栖秕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晓避。 院中可真熱鬧簇捍,春花似錦、人聲如沸俏拱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锅必。三九已至事格,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驹愚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工远搪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逢捺。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓谁鳍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親劫瞳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子棠耕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353