前言
什么是持續(xù)集成呢?Continuous integration(CI)。持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成他們的工作,通常每個成員至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的開發(fā)內(nèi)聚的軟件。
如果沒有持續(xù)集成會有哪一些問題呢?模塊項目接口部署不及時,接口不通。每次需要手動打包最新的代碼進(jìn)行部署、發(fā)布代碼、線上部署都是純手工。容易出錯。浪費時間。
現(xiàn)在加上持續(xù)集成解決的問題呢?項目構(gòu)建自動化、集成的詳細(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一起使用的來達(dá)成持續(xù)集成的目的。
一、安裝Tomcat
必須有jdk,這里用的是jdk1.8
?1、從官網(wǎng)下載Tomcat。下載地址:https://tomcat.apache.org
apache-tomcat-8.5.49-windows-x64.zip
下載后解壓到C盤根目錄并重命名。
C:\apache-tomcat
2、配置環(huán)境變量
在classpath這個變量中加入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.啟動Tomcat
進(jìn)入Tomcat中bin目錄,雙擊startup.bat
上圖界面代表啟動成功,成功后不要關(guān)閉,否則就關(guān)掉了Tomcat。
測試Tomcat是否啟動成功:
在瀏覽器地址欄輸入http://localhost:8080/
若出現(xiàn)下圖界面,則啟動成功。
二、安裝Visual Studio 2017、Git-2.24.0.2-64-bit
? ? ? 下載并安裝Visual Studio 2017
? ? ? ?下載并安裝Git-2.24.0.2-64-bit?
驗證是否安裝成功,右鍵-“git bash here”
git --version
三、目標(biāo)服務(wù)器上安裝IIS、FTP服務(wù)
?新建一個站點test.com
新建一個FTP站點208ftp
身份驗證選擇基本
授權(quán)選擇指定角色或用戶組(指定可以訪問FTP的賬戶,沒有賬戶請新建)
權(quán)限(讀寫權(quán)限)
完了之后可以連接FTP驗證一下(注意新建防火墻入規(guī)則)
四、安裝Jenkins
一切準(zhǔn)備就緒之后,就開始安裝jenkins了,下載地址:jenkins.io/download/。前往地址下載jenkins的 war包。
jenkins-2.190.3.zip
然后將war包放置在前面安裝的Tomcat的目錄之下(C:\apache-tomcat\webapps)。
然后在瀏覽器中輸入http://localhost:8080/jenkins/。訪問,安裝成功的話就會出現(xiàn)jenkins的界面
這里根據(jù)提示我們找到目錄之下就可以獲取密碼了。接下來會出現(xiàn)插件安裝的一個選擇,新手直接選擇新手入門推薦安裝就好了。
這里有時會出現(xiàn)安裝失敗或者鏈接失敗的情況,多試幾次就好了。一般是網(wǎng)絡(luò)的問題。
創(chuàng)建管理員用戶之后就可以正式開始配置jenkins了。
配置
安裝Publish Over FTP插件
?配置Publish Over FTP
注意remote directory為 “/”?
注意 中文配置為GB2312
?配置完后可以使用“test configuration”測試下FTP 是否連的通
配置git、Visual Studio 2017
新建一個項目 whenchattest
MSBuild Version? :選擇之前配置好的msbuild,就是Visual Studio 2017
MSBuild Build File : 需要編譯的工程文件目錄,我這里是選擇的工程文件里C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站點測試\PortTestNew\PortTestNew.csproj? ? ? 后綴是.csproj的工程文件
(默認(rèn)Git拉取源碼存放的目錄是C:\Users\jenkins\.jenkins\workspace)
Command Line Arguments : 編譯文件
/t:Rebuild? #重新生成/p:VisualStudioVersion=15.0? #Visual Studio 2017對應(yīng)的是15.0/p:DeployOnBuild=True? ? ? #是否打包/p:Configuration=Release? #生成Release版本/p:OutputPath="C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站點測試\PortTestNew\bin"? ? #項目輸出位置/p:WebProjectOutputDir="C:\Users\jenkins\.jenkins\workspace\whenchattest\test.whenchat.com"#項目dll輸出位置,發(fā)布的時候就是把生產(chǎn)的這個文件里的內(nèi)容拷貝到IIS站點的目錄
*注:如果生成以后需要使用ftp進(jìn)行發(fā)布的話,請將項目生成到\Jenkins\workspace\中去。同時路徑中存在空格時,要在路徑上加上雙引號,否則會出先報錯:
MSBUILD : error MSB1008: 只能指定一個項目。
VisualStudioVersion=15.0? 查看版本號? C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config
通過ftp發(fā)布
點擊增加構(gòu)建后操作步驟,并選擇下圖紅框內(nèi)的選項。
Source files:表示當(dāng)前上傳的文件位置,該位置默認(rèn)根目錄為“Jenkins\workspace\項目名”文件夾。
Remove prefix:表示上傳時,是否排除忽略某些文件夾。如上圖中,如果該項為空,則在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,手動構(gòu)建,看看是什么原因并解決