Visual Studio容器项目工程化心得
引言
關(guān)注博主的網(wǎng)友會看到我使用ASP.NET Core 容器化部署企業(yè)級項目的過程, 回想到開發(fā)過程中,鄙人有一些工程化心得, 分享給同學(xué)們。
項目工程化
因為本項目涉及單元測試Project、容器化部署、本地化的sqlite數(shù)據(jù)庫,nlog日志, 因此有必要給出我的Visual Studio 2019 解決方案目錄:
需要理解幾點:
① 建立container文件夾
該專門存放容器化部署相關(guān)的文件, 將開發(fā)內(nèi)容和部署內(nèi)容分開是一種DevOps實踐, 同時也為我們以后實現(xiàn)CI/CD做些許鋪墊。
小技巧:? 在使用Visual Studio的時候,可建立與以上文件件同名的解決方案文件夾, 這樣便于開發(fā)人員編寫部署腳本。
② 編寫git ignore 文件
網(wǎng)上很多大牛分享過git的操作技巧,add, commit, push, checkout、merge 相信很多開發(fā)人員爛熟如心。
但是作為企業(yè)級工程,多少會涉及一些不需要代碼倉庫管理的文件(密鑰文件、臨時文件、 本地數(shù)據(jù)庫文件、 日志文件), 這就涉及git ignore的用法,更豐富的官方文檔在這里:?https://git-scm.com/docs/gitignore
這個操作很多時候是由架構(gòu)師一次性配置完成, 很多開發(fā)同學(xué)沒有實操過, 今天我們也來玩弄一下。
// 在解決方案.sln 同級目錄下編寫的.gitignore文件:忽略vs user file,nuget package,temp files*.suo
*.user
packages
.vs
.nuget
container/app/publish/* // 在EqidManager項目文件夾下編寫.gitignore文件:忽略localdb,logs,temp files
*.suo
*.user
bin
obj
internal-nlog.txt
EqidManager.db
healthchecksdb
③? 編寫WebDeploy Publish Profile
container文件夾中包含app和nginx的鏡像準備文件和對應(yīng)的Dockerfile,這里我們關(guān)注 app/publish文件夾, 里面將會存放本次應(yīng)用程序的最終可執(zhí)行文件。
使用WebDeploy部署的時候 ,在該路徑生成部署文件,便于統(tǒng)一管理, 產(chǎn)生的FolderPublish.pubxml 如下:
<?xml version="1.0" encoding="utf-8"?><!--
此文件由 Web 項目的發(fā)布/打包過程使用。可以通過編輯此 MSBuild 文件
自定義此過程的行為。為了解與此相關(guān)的更多內(nèi)容,請訪問 https://go.microsoft.com/fwlink/?LinkID=208121。
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>1213badd-176e-4c24-af84-bfdb0517b692</ProjectGuid>
<publishUrl>../../container/app/publish</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
<!--
關(guān)注黃色背景行,發(fā)布目錄使用相對路徑(相對于項目文件***.csproj的路徑)
-->
WebDeploy根據(jù)此配置會在工程目錄container/app/publish下生成部署文件, 準備部署時可直接拷貝container文件夾, 生成鏡像并形成容器。
本文只是粗略分享 Devloper使用Visual Studio開發(fā)容器化項目的實踐,CI/CD請持續(xù)關(guān)注。
原文地址:https://www.cnblogs.com/JulianHuang/p/10983973.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的Visual Studio容器项目工程化心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DDD战略设计相关核心概念的理解
- 下一篇: Insider Dev Tour 201