前言
什么是持續(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)建,看看是什么原因并解決