日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio容器项目工程化心得

發(fā)布時(shí)間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio容器项目工程化心得 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

引言  

  關(guān)注博主的網(wǎng)友會(huì)看到我使用ASP.NET Core 容器化部署企業(yè)級(jí)項(xiàng)目的過程, 回想到開發(fā)過程中,鄙人有一些工程化心得, 分享給同學(xué)們。

項(xiàng)目工程化

  因?yàn)楸卷?xiàng)目涉及單元測(cè)試Project、容器化部署、本地化的sqlite數(shù)據(jù)庫,nlog日志, 因此有必要給出我的Visual Studio 2019 解決方案目錄:

需要理解幾點(diǎn):

① 建立container文件夾

  該專門存放容器化部署相關(guān)的文件, 將開發(fā)內(nèi)容和部署內(nèi)容分開是一種DevOps實(shí)踐, 同時(shí)也為我們以后實(shí)現(xiàn)CI/CD做些許鋪墊。

  小技巧:? 在使用Visual Studio的時(shí)候,可建立與以上文件件同名的解決方案文件夾, 這樣便于開發(fā)人員編寫部署腳本。

② 編寫git ignore 文件

  網(wǎng)上很多大牛分享過git的操作技巧,add, commit, push, checkout、merge 相信很多開發(fā)人員爛熟如心。

但是作為企業(yè)級(jí)工程,多少會(huì)涉及一些不需要代碼倉庫管理的文件(密鑰文件、臨時(shí)文件、 本地?cái)?shù)據(jù)庫文件、 日志文件), 這就涉及git ignore的用法,更豐富的官方文檔在這里:?https://git-scm.com/docs/gitignore

這個(gè)操作很多時(shí)候是由架構(gòu)師一次性配置完成, 很多開發(fā)同學(xué)沒有實(shí)操過, 今天我們也來玩弄一下。

// 在解決方案.sln 同級(jí)目錄下編寫的.gitignore文件:忽略vs user file,nuget package,temp files
*.suo
*.user
packages
.vs
.nuget
container
/app/publish/*
// 在EqidManager項(xiàng)目文件夾下編寫.gitignore文件:忽略localdb,logs,temp files
*.suo
*.user
bin
obj
internal-nlog.txt
EqidManager.db
healthchecksdb

③? 編寫WebDeploy Publish Profile

  container文件夾中包含app和nginx的鏡像準(zhǔn)備文件和對(duì)應(yīng)的Dockerfile,這里我們關(guān)注 app/publish文件夾, 里面將會(huì)存放本次應(yīng)用程序的最終可執(zhí)行文件。

使用WebDeploy部署的時(shí)候 ,在該路徑生成部署文件,便于統(tǒng)一管理, 產(chǎn)生的FolderPublish.pubxml 如下:

<?xml version="1.0" encoding="utf-8"?>
<!--
此文件由 Web 項(xiàng)目的發(fā)布/打包過程使用。可以通過編輯此 MSBuild 文件
自定義此過程的行為。為了解與此相關(guān)的更多內(nèi)容,請(qǐng)?jiān)L問 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ā)布目錄使用相對(duì)路徑(相對(duì)于項(xiàng)目文件***.csproj的路徑)
-->

  WebDeploy根據(jù)此配置會(huì)在工程目錄container/app/publish下生成部署文件, 準(zhǔn)備部署時(shí)可直接拷貝container文件夾, 生成鏡像并形成容器。
  本文只是粗略分享 Devloper使用Visual Studio開發(fā)容器化項(xiàng)目的實(shí)踐,CI/CD請(qǐng)持續(xù)關(guān)注。

原文地址:https://www.cnblogs.com/JulianHuang/p/10983973.html

.NET社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總?http://www.csharpkit.com?

總結(jié)

以上是生活随笔為你收集整理的Visual Studio容器项目工程化心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。