前言
什么是持續集成呢?Continuous integration(CI)。持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。
如果沒有持續集成會有哪一些問題呢?模塊項目接口部署不及時,接口不通。每次需要手動打包最新的代碼進行部署、發布代碼、線上部署都是純手工。容易出錯。浪費時間。
現在加上持續集成解決的問題呢?項目構建自動化、集成的詳細信息及歷史記錄的記錄、使用統一的管理、固定規定的部署流程、每天至少集成一次。
環境:
jenkins服務器:win7系統 (安裝jenkins、git、Visual Studio 2017)
IIS目標服務器:winserver2012系統(安裝IIS 、FTP)
安裝
這里我采用的是使用Tomcat配合jenkins一起使用的來達成持續集成的目的。
一、安裝Tomcat
必須有jdk,這里用的是jdk1.8,安裝:https://www.cnblogs.com/xiaoyou2018/p/9945272.html
1、從官網下載Tomcat。下載地址:https://tomcat.apache.org
apache-tomcat-8.5.49-windows-x64.zip
下載:
鏈接:https://pan.baidu.com/s/1GFJm_tBak9SXhsAMu1Xhrg
提取碼:yf7q
下載后解壓到C盤根目錄並重命名。
C:\apache-tomcat
2、配置環境變量
在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
進入Tomcat中bin目錄,雙擊startup.bat
上圖界面代表啟動成功,成功后不要關閉,否則就關掉了Tomcat。
測試Tomcat是否啟動成功:
在瀏覽器地址欄輸入http://localhost:8080/
若出現下圖界面,則啟動成功。
二、安裝Visual Studio 2017、Git-2.24.0.2-64-bit
下載並安裝Visual Studio 2017
下載並安裝Git-2.24.0.2-64-bit 下載地址:
鏈接:https://pan.baidu.com/s/15_1KHGu9igxtg0NdRarMeQ
提取碼:xmjr
驗證是否安裝成功,右鍵-“git bash here”
git --version
三、目標服務器上安裝IIS、FTP服務
新建一個站點test.whenchat.com
新建一個FTP站點208ftp
身份驗證選擇基本
授權選擇指定角色或用戶組(指定可以訪問FTP的賬戶,沒有賬戶請新建)
權限(讀寫權限)
完了之后可以連接FTP驗證一下(注意新建防火牆入規則)
四、安裝Jenkins
一切准備就緒之后,就開始安裝jenkins了,下載地址:jenkins.io/download/。前往地址下載jenkins的 war包。
jenkins-2.190.3.zip,下載地址:
鏈接:https://pan.baidu.com/s/1oM3-oGQ4eC3St8Kg1c9c3A
提取碼:gfvx
然后將war包放置在前面安裝的Tomcat的目錄之下(C:\apache-tomcat\webapps)。
然后在瀏覽器中輸入http://localhost:8080/jenkins/。訪問,安裝成功的話就會出現jenkins的界面
這里根據提示我們找到目錄之下就可以獲取密碼了。接下來會出現插件安裝的一個選擇,新手直接選擇新手入門推薦安裝就好了。
這里有時會出現安裝失敗或者鏈接失敗的情況,多試幾次就好了。一般是網絡的問題。
創建管理員用戶之后就可以正式開始配置jenkins了。
配置

配置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的工程文件
(默認Git拉取源碼存放的目錄是C:\Users\jenkins\.jenkins\workspace)
Command Line Arguments : 編譯文件
/t:Rebuild #重新生成 /p:VisualStudioVersion=15.0 #Visual Studio 2017對應的是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輸出位置,發布的時候就是把生產的這個文件里的內容拷貝到IIS站點的目錄
*注:如果生成以后需要使用ftp進行發布的話,請將項目生成到\Jenkins\workspace\中去。同時路徑中存在空格時,要在路徑上加上雙引號,否則會出先報錯:
MSBUILD : error MSB1008: 只能指定一個項目。
VisualStudioVersion=15.0 查看版本號 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config

通過ftp發布
點擊增加構建后操作步驟,並選擇下圖紅框內的選項。
Source files:表示當前上傳的文件位置,該位置默認根目錄為“Jenkins\workspace\項目名”文件夾。
Remove prefix:表示上傳時,是否排除忽略某些文件夾。如上圖中,如果該項為空,則在FTP指定位置上傳Build文件夾及其內容。
Remote directory:ftp的目標目錄
自此配置構架、發布系統完成
表示構建完成,如果構建失敗,我們可以現在jenkins服務器上使用Visual Studio 2017,手動構建,看看是什么原因並解決
表示發布完成
jenkins+sonar代碼質量掃描+釘釘通知
https://www.cnblogs.com/xiaoyou2018/p/12486677.html
參考:
https://www.cnblogs.com/Yuuuuu/p/8862507.html
https://juejin.im/post/5d8827b7f265da03c5034de0
https://www.cnblogs.com/shenh/p/8946404.html
https://www.jianshu.com/p/c8f30205fc5f FTP報錯