.NET Core

持续交付三:动手自动化“开发”—>“测试”

情到浓时终转凉″ 提交于 2020-11-22 13:44:00
前两篇博文中提到Development,QA,Staging,Production四个环境,也说明了源代码的分支和四个环境的对应关系,本篇博文聊一下,怎么把源码自动化发布到对应的环境中。 市面上主流的DevOpt工具都支持这些功能,github,gitlab,都有CICD功能,当然,如果源码服务器是自己搭建的,也可以利用像Jenkins这类软件来实现CICD,关于这些大众工具,网上有很多教程序,这里就不主要来分享了,本例是用.net core实现一个极简的自动发布工具——《MyCICD》。 说一下实现思路吧! clone 或 pull分支代码 publish run 是不是很简单,上代码吧 using System; using System.Collections.Generic; using System.Configuration; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading; namespace MyCICD { class Program { static void Main(string[] args) { var processIDs = new int[0]; while (true) { if

初探ASP.NET Core 3.x (2)

半世苍凉 提交于 2020-11-20 07:22:00
本文地址: https://www.cnblogs.com/oberon-zjt0806/p/12210662.html 注意 本节是 历史课 ,且绝大多数内容来自于百科或者其他的什么资料来源,如果不感兴趣可略过 反正这玩意怎么发展的也不影响你今天的使用不是?? 目录 I 从ASP.NET到ASP.NET Core I.1 各自的优点 I.2 应用场合 II 我们用哪个?? II.1 但ASP.NET就不用管了么?? II.2 作为新的替代品,ASP.NET Core有应用么?? II.3 这两个在技术上有什么变化 <!-- tocstop --> I 从ASP.NET到ASP.NET Core ASP.NET是一个免费的,成熟的web框架, 用于使用HTML、CSS和JavaScript构建强大的网站和Web 应用程序。 还可以创建Web Api并使用Web套接字等实时技术。ASP.NET目前是随着.NET Framework更新的,目前的版本为ASP.NET 4.x。 ASP.NET Core是 ASP.NET 的一种崭新的替代方法。 I.1 各自的优点 ASP.NET的出现较早,经过了较长的开发迭代,因此ASP.NET的技术相对上比较成熟并趋于稳定。因为是一个相对而言比较传统的一个框架,因此具备更好的 前向兼容性 ,对于一些早期构建的一些应用程序和接口可以更好的兼容和复用

如何利用Gitlab-CI持续部署到远程机器?

纵饮孤独 提交于 2020-11-20 07:02:08
长话短说,今天聊一聊使用Gitlab-CI 自动部署到远程服务器。 如果看过《 基于docker-compose的Gitlab CI/CD实践&排坑指南 》这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的站点,本次我们结合 ssh 部署到远程机器(将CI服务器和部署服务器分离,避免资源抢占)。 SSH免密登陆 还是那句: CI/CD实质是将我们手动集成、拷贝部署的方式脚本化 ,远程部署的重要姿势是要求 免密操控 。 受控机器上的某个账户信任 CI机器上gitlab-runner账户。 先执行 su gitlab-runner 切换到 gitlab-runner 账户 在你的CI机器(主控端)上使用 ssh-keygen命令创建公钥,使用 ssh-keygen -t rsa 来创建,程序会问你存放目录,如果不需要修改,直接回车几次即可 将~/.ssh目录下 id_rsa.pub 文件拷贝到受控机器的 ~/.ssh 目录中,然后将文件内容导入到 ~/.ssh/authorized_keys 文件 主控方: scp /home/gitlab-runner/.ssh/id_rsa.pub ****@10.202.42.252:/home/***/.ssh/ 受控方: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

.NET 5 中的隐藏特性

牧云@^-^@ 提交于 2020-11-19 20:14:11
转自:hez2010 cnblogs.com/hez2010/p/13963803.html 前言 双十一当天,个人觉得非常香,并且花了 10 分钟时间就把自己的 4 个 .NET Core 3.1 的项目升级到了 .NET 5,堪称无痛。 但是,.NET 5 中还有一些没有正式公开的隐藏特性,那么现在就开始介绍吧。 Crossgen 2 Crossgen 其实就是众所周知的 ReadyToRun 特性。该功能将你的程序集进行一定程度的 AOT 编译,然后在运行时跟踪热路径对一些方法进行带有更多优化的 JIT 编译,即分层编译,这使得程序集的加载速度大幅提高。 但是 .NET 5 其实带了 Crossgen 的下一个版本:Crossgen 2。 Crossgen 2 的代码几乎是从 CoreRT 继承而来,并在此基础上做了很大改进。CoreRT 可以对 .NET 程序集进行完全的原生优化编译,编译出来的东西就是完全 native 的,和 Go 的体验完全一致。 Crossgen 2 则使用了这套方法,将你的程序集在支持范围之内进行 Native AOT 编译,然后运行时直接加载启动,并根据运行情况再使用 JIT 编译器进行进一步的优化,是一种混合 AOT 策略。 为什么说在支持范围之内呢?因为 Native AOT 必然对动态加载和 Emit 等特性不友好,但是 Crossgen

.net core2.0 中使用DB First

强颜欢笑 提交于 2020-11-19 05:30:44
一、新建一个控制台测试项目   1.1、添加引用  1.2、修改项目文件 1.3、添加红框的内容 <ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.2" /> </ItemGroup> 1.4、进入项目文件夹 dotnet ef dbcontext scaffold -o Models " server=192.168.10.144;User Id=root;Password=root;Database=supbackdb " " Pomelo.EntityFrameworkCore.MySql " 来源: oschina 链接: https://my.oschina.net/u/4265407/blog/3972869

.Net Core Web Api实践(一)中间件的使用

可紊 提交于 2020-11-19 00:17:03
前言: 从2019年年中入坑.net core已半年有余,总体上来说虽然感觉坑多,但是用起来还是比较香的。本来我是不怎么喜欢写这类实践分享或填坑记录的博客的,因为初步实践坑多,文章肯定也会有各种错误,跟别人优秀的文章比起来,好像我写的东西没有什么存在的价值。但是入坑.net core以来,这种思想开始慢慢改变了,毕竟我依靠别人解决问题的文章也不尽是教科书般的存在,但是很使用。所以,把自己的实践过程记录出来,一方面是巩固和完善自己的技术栈,另一方能帮助到其他人,或者跟他人共同探讨,也不算闭门造轮子,自娱自乐了吧。.net core web api的实践记录,就由中间件的使用开始吧。 1、必要的知识储备 在阅读这篇文章的时候,我希望读者已经了解接口的逆变与协变、泛型、委托等知识点(个人认为这是了解.net各种框架的必备知识),同时也知道.net core的依赖注入、生命周期的相关内容(园子里前几名的大佬,对这块都有非常优秀的讲解,这里我就不作介绍,有需要的童鞋可以留言,我提供连接)。 2、.net core webapi项目中配置中间件 // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure

.NET必知的EventCounters性能指标监视器

ε祈祈猫儿з 提交于 2020-11-17 14:05:54
在.NET我们对于性能指标监控,其实常见的有两个方法,一个是CLI工具 dotnet-counters 而另一个是代码级别的 EventListener . 使用dotnet-counters dotnet-counters 是一个性能指标监视工具,用于临时运行状态监视和初级性能调查。它可以观察通过 EventCounter API发布的性能计数器值。例如,可以快速监视 CPU 使用情况或 .NET Core 应用程序中引发的异常率,以了解在使用 PerfView 或 dotnet-trace 深入调查更严重的性能问题之前是否有任何可疑操作。 -- 摘自 dotnet-counters 命令 dotnet-counters collect dotnet-counters list dotnet-counters monitor dotnet-counters ps 安装dotnet-counters CLI工具,可通过如下命令: dotnet tool install --global dotnet-counters 更新命令如下所示: dotnet tool update dotnet-counters --global 安装完工具之后,我们可以进行查看可监视的进程: dotnet-counters ps 12268 dotnet C:\Program Files\dotnet

.NET移植到.NET Core

╄→尐↘猪︶ㄣ 提交于 2020-11-17 07:16:05
本月初,Microsoft 宣布了.NET Core 3.0的.NET Framework API移植项目的结论 。 这意味着官方开发团队不会将任何其他API从.NET Framework移植到.NET Core 3.0(及以后的版本)。 但是,在同一公告中,Microsoft还声明了他们打算开放更多.NET Framework代码的源代码,这可能允许将来创建由社区驱动的移植项目。 Microsoft .NET的程序经理Immo Landwerth解释说,该决定与Microsoft .NET Core的计划一致: 我们宣布,.NET的未来将基于.NET Core。 使用.NET Core 3.0,我们可以轻松移植现代工作负载所需的所有技术,无论是台式机应用程序,移动应用程序,控制台应用程序,网站还是云服务。 这并不是说我们在新技术方面没有任何差距或机会,但我们通常认为我们不会再在.NET Framework代码库中找到它们。 展望未来,我们将资源集中在整合新技术上。 根据Immo的说法,自1.0版以来,超过一半的.NET Framework API(约120k)已移植到.NET Core。 此外,.NET Core中有62k个新API,但.NET Framework中不存在。 根据API的总数进行比较时,.NET Core约占.NET Framework API表面积的80%。

使用VS 2019发布.net core程序并部署到IIS的最新教程

孤街醉人 提交于 2020-11-16 04:22:12
不管你是使用.net core开发的是web api还是网站类的程序,如果你是部署到IIS,那么下面的内容都适合于你,不会将.net core程序部署到IIS的朋友,可以看看这篇 手把手教你部署.net core程序的教程。 将.net core程序部署到IIS总体需要经过以下3个大步骤,其中在IIS上配置网站有些比较繁琐,我都会逐一给出详细步骤。 安装IIS和.net core运行时程序 部署.net core程序首先要确保你服务器上的IIS环境要安装好,不知道怎样在服务器上安装IIS,请先自行搜索一下;确保IIS安装好了后, 还需要安装.net core的运行时 ,运行时的程序文件可以在官网下载最新版本安装,点击这里直达官网 下载运行时 。 .net core环境运行时 安装好了后,如果你在IIS上模块里面看到AspNetCoreModule,表示安装成功。 怎样查看AspNetCoreModule模块 进入IIS后,先点左侧你的服务器上IIS名称,然后会出现上图右边所示的模块,点击进就会在下图右侧出现IIS上众多的模块,当你安装了运行时后,就会出现 AspNetCoreModule 这个东东,表示安装成功,已经具备在IIS上运行.net core程序的环境了。 基本环境配置好了后,下面该发布.net core 程序了。 以文件的形式发布.net core程序到指定目录 将

在 Visual Studio for Mac 中编译和生成

有些话、适合烂在心里 提交于 2020-11-16 02:46:03
使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Visual Studio for Mac https://msdn.microsoft.com/magazine/mt790182?f=255&MSPPError=-2147217396 Mac上使用Visual Studio Code开发/调试.NET Core代码 https://www.cnblogs.com/Leo_wl/p/5654758.html 生成和清理项目和解决方案 https://docs.microsoft.com/zh-cn/visualstudio/mac/building-and-cleaning-projects-and-solutions 在 Visual Studio for Mac 中编译和生成 https://docs.microsoft.com/zh-cn/visualstudio/mac/compiling-and-building 来源: oschina 链接: https://my.oschina.net/u/4317906/blog/4033275