ASP.NET Web应用程序的安装

我们有一些使用两种方式的ASP.NET Web应用程序:

>企业解决方案(类似msi的安装程序)
>云解决方案(使用相同的安装程序)

目前我们使用本地安装程序,但是考虑如果我们可以用更方便和适合CI / CD开发周期的东西替代它们.

可以使用哪些技术/产品?目前我想到webdeploy,但不知道如何应用于企业设置…

解决方法

这是一个很大的问题,但我认为这是一个答案.

(部分)开源解决方

配置CI周期的一种方法是使用Jenkins以及MS部署功能. This article显示如何快速设置一个工作,将Jenkins与msdeploy工具集成.

基本上它配置一个作业以使用Powershell执行部署:

msdeploy.exe -allowUntrusted=true -verb:sync -source:contentpath='D:\WS\ExampleProject' -dest:contentpath=F:\webfolder,computerName=exampleproject.example.com,Username='yourdomain\username',Password='password' -skip:objectName=dirPath,absolutePath="config" -skip:objectName=filePath,absolutePath="web.config"

它还指出,执行用户应该是目标服务器上的管理员,但可以通过正确配置Web部署处理程序来绕过目标服务器,如this article所示.

在Jenkins集成之前可以完成的一个中间步骤(我推荐)是根据SO文档中的指示配置Web部署.这允许快速检查可以使用Visual Studio和允许部署的任何配置的用户在目标服务器IIS上执行部署.它还允许快速查看当前代码库(网页,JS文件,二进制文件)和目标服务器部署软件包之间的区别.

2. Visual Studio 2017 DevOps解决方

微软最近发布了VS 2017,其中包含对DevOps的极大支持,它处理与CI / CD相关的大多数问题.我找不到引用,但我记得这个功能仅适用于企业版.此外,好消息是,它并没有收紧微软的技术.

可以发现与该主题有关的演示here.

我认为WebDeploy可以使用没有重大问题.从我的经验:

>备份限制:只能在网站级别,而不是Web应用级别完成>部署时间:相当小 – 实际文件复制网站备份(如果已配置)应用程序池回收.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....