篇blog包含使用TFS2017,VS2017等平臺(tái)和工具搭建和使用NuGet庫等基本過程,為團(tuán)體提供更加自動(dòng)化和高效的研發(fā)活動(dòng)支持。
作為以產(chǎn)品線或者以專屬業(yè)務(wù)為擴(kuò)展的項(xiàng)目類型的軟件研發(fā)團(tuán)體,都會(huì)有自己的基礎(chǔ)軟件框架和功能模塊的軟件產(chǎn)品智力資產(chǎn)庫。團(tuán)隊(duì)無形智力資產(chǎn)的積累和最大化使用,不僅是組織的軟件成熟度能力的體現(xiàn),更是軟件企業(yè)或團(tuán)體研發(fā)成本和經(jīng)濟(jì)效益的最大化平衡的有效手段。在研發(fā)團(tuán)隊(duì)中,開發(fā)一個(gè)大型的項(xiàng)目或產(chǎn)品通常會(huì)使用許多的公共類型的資源以及企業(yè)內(nèi)部的一些基礎(chǔ)資源,比如開源的前后端框架、腳本、DLL文件等等。這些被引用的資源之間也存在著諸多的依賴和版本差異,如果沒有一個(gè)合理的項(xiàng)目庫管理機(jī)制和平臺(tái),團(tuán)隊(duì)之間處理這些繁瑣的活動(dòng)要浪費(fèi)許多的時(shí)間和精力。
在微軟的TFS產(chǎn)品中,本身作為一個(gè)ALM過程的基礎(chǔ)支撐平臺(tái),引入了包管理的功能支持。特別是基于微軟開發(fā)平臺(tái)的軟件團(tuán)隊(duì),針對(duì)公共的資源使用,我們大量使用www.nuget.org提供的共享資源,但是團(tuán)體內(nèi)部的公共代碼類庫我們通常不要放到公網(wǎng)上去,在內(nèi)部使用通常還是使用人工復(fù)制拷貝的模式進(jìn)行使用,當(dāng)數(shù)量大到一定程度,由于多個(gè)版本,多研發(fā)人員共同協(xié)作,產(chǎn)生了大量的資源的浪費(fèi)。比如,一個(gè)研發(fā)人員打開一個(gè)項(xiàng)目進(jìn)行工作,通常會(huì)因?yàn)檐浖g的各種依賴,導(dǎo)致程序無法運(yùn)行調(diào)試,通常要花費(fèi)許多的時(shí)間來查找和整理這些共享的類包。
下面記錄了一個(gè)搭建和使用私有NuGet托管庫的一些過程,希望可以為這方便有需求的朋友和團(tuán)體提供一些有價(jià)值的參考。
1、 在TFS2017中配置包管理庫
首先在TFS Web Portal中創(chuàng)建一個(gè)新的托管包源。
下載nuget.exe工具,備用。
完成后我們的一個(gè)私有的NuGet托管庫就已經(jīng)完成了,后續(xù)是如何發(fā)布我們的類包到私有庫中。
2、 制作類包
首先我們準(zhǔn)備一個(gè)非常簡(jiǎn)單的類庫項(xiàng)目。并包含一個(gè)對(duì)JQuery共有類庫的一個(gè)應(yīng)用,在該示例中不太合理,目的是后面演示一下