使用ASP.NET CORE開發可載入套件的基礎架構(3)

Likol Lee
Likol Lee
Nov 4 · 2 min read

前言

在這整個架構的設計中,使用NuGet Package來載入套件是我覺得最好的設計,這也代表我不需要額外再設計一個套件的管理服務,一方面免除了在開發階段整合的問題,一方面大大增加了延展性。

Private NuGet Server

在目前的計畫中,整體的開發與佈署最好有兩組NuGet的服務,一個用來作為開發使用,一個作為佈署使用。

開發用的NuGet Server上面的套件可隨時透過CI持續地進行更新(可能同版號或累計版號),整合測試時可以透過載入不同的套件定義(JSON)檔案進行自動化作業。佈署用的Server則登錄已經測試完成可以釋出的套件。

Docker

受益於ASP.NET CORE是個跨平台的框架,我採取了在Linux上使用Docker的技術來快速進行整合測試的作業,我預先配置好了一個Test Server的Image,當需要新的測試環境時,透過Docker API來建立新的Container,更新需要載入的套件資訊,非常快的就可以建立出測試環境。

整合測試採用Selenium,也就是WebDriver來進行測試,由於VisualStudio的Code Coverage並無法在Linux下運作,因此採用Coverlet來進行收集作業。

[延伸閱讀]

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade