国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

.NET代碼自動(dòng)編譯發(fā)布

2019-11-17 03:16:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

.NET代碼自動(dòng)編譯發(fā)布

因本人一直使用.NET開(kāi)發(fā),在做項(xiàng)目的時(shí)候,每次都要涉及到各個(gè)環(huán)境的部署問(wèn)題,手工操作容易出錯(cuò),并且重復(fù)勞動(dòng)多,所以一直在尋找一個(gè)能實(shí)現(xiàn)自動(dòng)化部署的方案。

廢話不多講,先講講我的初步實(shí)現(xiàn)方案。

準(zhǔn)備工具:GIT版本控制(gitlab),Jenkins, msbuild

1. 安裝git版本控制器,提交代碼。(svn好像也可以), 并生成ssh public key上傳到gitlab的ssh key中(個(gè)人配置/SSH KEY)。

2. 安裝jenkins開(kāi)源工具。

3. Jenkins安裝git plugin, Msbuild插件(Manager Jenkins/Manage Plugins)

4. 配置Jenkins中的git(Manager Jenkins/Configure System)

在git欄中輸入name和Path: git install path/cmd/git.exe

5. 添加對(duì)應(yīng).NET framework version MSBuild

Name:.NET4.0PathtoMSBuild:%system%/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe

6. 建立.NET項(xiàng)目文件,并添加MSBuild文件

建立一個(gè)解決方案nonsuch.sln,里面包含一個(gè)website: nonesuch.web.

在解決方案根目錄建立一個(gè)xml文件,改名為: build.targets

<?xmlversion="1.0"encoding="utf-8"?><application=true;P7. 新建一個(gè)任務(wù): Build a free-style software project

1) Advanced Project options: Use custom workspace

輸入此任務(wù)的文件夾,獲取的git項(xiàng)目文件,將放入此文件夾中(d:/Git/nonsuch)。

2) Source code Management: Git

Repositories Url: 輸入項(xiàng)目的Git地址,如:

git@gitlab.gofund.com:dotnet/nonsuch.git

Repository browser: gitlab

Url: gitlab的url地址,比如: http://gitlab.gofund.com.cn/dotnet/nonsuch

Version: 6.2

3) Build

Build a Visual Studio Project or solution using MSBuild

MSBuild Version: .NET 4.0(之前配置的MSBuild版本)

MSBuild Build File: 這個(gè)地址就是之前配置的workspace路徑:

d:/Git/nonsuch/Build.targets

4) Post-build Actions

Archive the artifacts(這個(gè)主要是為了nuget下載的包,每次編譯之前保留)

File to archive : packages/**

5) 點(diǎn)擊Save保存,之后點(diǎn)擊:Build Now

8. 如果有時(shí)候提示git沒(méi)有權(quán)限,則進(jìn)入服務(wù),切換Jenkins的運(yùn)行者為當(dāng)前用戶。

9. 為了解決一些引用依賴路徑問(wèn)題,我用在msbuild中用了GetDirectoryNameOfFileAbove這個(gè)關(guān)鍵字,有興趣的可以搜索下。

10. 這樣就通過(guò)Jenkins工具,調(diào)用git版本控制器,自動(dòng)獲取最新版本代碼,發(fā)布到某個(gè)文件夾,然后IIS可以指向到發(fā)布的文件夾。但這樣涉及到web.config配置,如果希望不同環(huán)境的web.config配置不一樣,可以利用debug, release生成的web.config文件,甚至可以把配置放入到統(tǒng)一個(gè)數(shù)據(jù)庫(kù)中,根據(jù)機(jī)器的名字自動(dòng)獲取對(duì)應(yīng)環(huán)境。

這是我的實(shí)現(xiàn),不知道有沒(méi)有更好的解決方案。主要是利用msbuild, 這個(gè)還有很多功能需要去探索。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲水县| 彰化县| 宾川县| 泽库县| 宁远县| 嘉鱼县| 锡林浩特市| 上犹县| 宜宾县| 吐鲁番市| 白城市| 韶关市| 南昌市| 富裕县| 金塔县| 五指山市| 三都| 商水县| 铁岭市| 汝南县| 双桥区| 罗定市| 温泉县| 三明市| 石首市| 株洲县| 泗水县| 盐山县| 同心县| 格尔木市| 秀山| 务川| 呈贡县| 醴陵市| 承德县| 于都县| 宝应县| 南安市| 太原市| 潼关县| 濉溪县|