基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署
一 Web Server(Windows)端的配置
1.配置IIS,重要的是管理服务

1.1 配置FTP(前端NPM项目需要)
该步骤略,如果是在阿里云ESC上,需要开启端口21(用来FTP认证握手)和端口40000-60000(用来上传文件)之间。
2.Net Core与.Net Framework.
2.1 .NET Core的运行环境还是生产环境还是测试环境取决于系统环境变量 :ASPNETCORE_ENVIRONMENT 有两个值:Development和Production
.Net Core会根据这个值,自动读取:appsettings.Development.json还是appsettings.Production.json.
3.安装WebDeploy.确保相关服务启动

4 网站启动部署
二 使用VS创建发布文件与配置转换
1.Asp.net MVC
2.Asp.net Core
依赖appsettings.Development.json与appsettings.Production.json
三 配置Windows下的TeamCity
1 安装TeamCity
略,但是尽量安装在空间大的盘符上.
2 安装其他组件
2.1 .Net CoreSDK
2.2 Visual Studio 2017
2.3 Node.js
3 asp.net MVC 发布参数
3.1 restore 同asp.net Core相同
3.2 build 同asp.net core相同
3.2 publish

/p:PublishProfile=测试环境.pubxml
/p:DeployOnBuild=true
/p:DeployTarget=MSDeployPublish
/p:Configuration="Debug"
/p:FilesToIncludeForPublish=AllFilesInProjectFolder
/p:ProfileTransformWebConfigEnabled=True
/p:MsDeployServiceUrl=https://对方服务器IP:8172/msdeploy.axd
/p:DeployIisAppPath=要发布的网站在IIS上的名字.
/p:username=对方服务器用户名(麻烦的话直接用管理员账号把,或者专门配置一个账号,看安全需要)
/p:password=该账号密码密码
/p:AllowUntrustedCertificate=true
4 aps.net Core 发布参数
4.1 restore

4.2 build

4.3 publish

/p:PublishProfile=CustomProfile.pubxml
/p:DeployOnBuild=true
/p:DeployTarget=MSDeployPublish
/p:Configuration="Debug"
/p:FilesToIncludeForPublish=AllFilesInProjectFolder
/p:MsDeployServiceUrl=https://对方服务器IP:8172/msdeploy.axd
/p:DeployIisAppPath=要发布的网站在IIS上的名字.
/p:username=对方服务器用户名(麻烦的话直接用管理员账号把,或者专门配置一个账号,看安全需要)
/p:password=该账号密码密码
/p:AllowUntrustedCertificate=true
5 Vue npm打包并自动发布
5.1 npm install

5.2 npm install cross-env(如果提示该组建缺失在增加此步骤,否则直接到npm build环节即可)

5.3 npm install css-loader(如果提示该组建缺失在增加此步骤,否则直接到npm build环节即可)

5.4 npm build

5.5 publish(基于FTP进行发布)

因为npm打包后,会放到dist目录里,所以我这里选择dist目录进行上传
** 目前这个方法有2个主要缺陷:
1 是会删除服务器上该网站下的所有文件,尝试过使用PS调用webdeploy命令进行发布,但是PS总是引号出错,遂放弃.目前测试环境已经够用,生产要慎重.
2 没有做版本管理,发布后,没法办做版本回退.
基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署的更多相关文章
- 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程
简述C#中IO的应用 在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...
- ASP.NET MVC Core的TagHelper(基础篇)
TagHelper又是一个新的名词,它替代了自之前MVC版本的HtmlHelper,专注于在cshmlt中辅助生成html标记. 通过使用自定义的TagHelper可以提供自定义的Html属性或元素, ...
- 基于Bootstrap的Asp.net Mvc 分页
基于Bootstrap的Asp.net Mvc 分页的实现 最近写了一个mvc 的 分页,样式是基于 bootstrap 的 ,提供查询条件,不过可以自己写样式根据个人的喜好,以此分享一下.首先新建一 ...
- .NET CORE学习笔记系列(1)——ASP.NET MVC Core 介绍和项目解读
ASP.NET MVC Core 项目文件夹解读 一.项目文件夹总览 1.1.Properties——launchSettings.json 启动配置文件,你可以在项目中“Properties”文件夹 ...
- ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0
ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6 将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0 将 ...
- [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0
ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...
- ASP.NET MVC Core的TagHelper (高级特性)
这篇博文ASP.NET MVC Core的TagHelper(基础篇)介绍了TagHelper的基本概念和创建自定义TagHelper的方式,接着继续介绍一些新的看起来比较高级的特性.(示例代码紧接着 ...
- ASP.NET MVC Core Starter Kit
上一篇博文<创建.NET Core程序的Nuget Package>提到准备创建一个Nuget包,用于自动生成一个简单的ASP.NET MVC Core的示例项目.本来是打算用Nuget实 ...
- 基于C#和Asp.NET MVC开发GPS部标视频监控平台
基于C#和Asp.NET MVC开发GPS部标监控平台 目前整理了基于.NET技术的部标平台开发文章,可以参考: 1.部标Jt808协议模拟终端的设计和开发 2.C#版的808GPS服务器开发-> ...
随机推荐
- 阿里云 RDS for MySQL 物理备份文件恢复到自建数据库
想把阿里云的Mysql 生成的RAS 文件.tar文件 恢复到本地自建mysql, 遇到的坑.希望帮助大家 阿里云提供的地址 https://help.aliyun.com/knowledge_det ...
- 删除pending.xml
如果提示不能删除 需要在cmd命令行中执行如下命令 echo y|cacls D:\Windows\winsxs\reboot.xml /p everyone:f del /q D:\Windows\ ...
- 3sum 求三数之和等于0,不允许重复
https://leetcode.com/problems/3sum/ 套路比较常见了,最重要的是去重.还是没法一次通过. class Solution { public: vector<vec ...
- idea 设置光标回到上一次位置的快捷键
1. file-->settings,搜索 navigate 这个 蓝色的back和forward分别就是光标后退.前进的快捷键了,全部移除原来冲突的快捷键,然后重新设置成自己的快捷键即可. 然 ...
- springboot配置swagger
1,添加配置类 @Configuration @EnableSwagger2 @Profile({"default", "dev-online", " ...
- 基于WCF的支持跨局域网可断点续传的大文件传输服务实现
题外话:这个系列的文章记录了本人最近写的一个小工程,主要包含了两个功能,一是对文件的断点续传的功能,二是基于WCF的一对多文件主动发送的功能,顺便这也是我自己在WCF学习路上的一个小成果吧. 在网上找 ...
- LVS负载均衡
1.LVS负载均衡 实现LVS负载均衡转发方式有三种,分别为NAT.DR.TUN模式,LVS均衡算法包括:RR(round-robin).LC(least_connection).W(weight)R ...
- Unity 读写文本 文件
1. LitJson的使用 https://blog.csdn.net/qq_35669619/article/details/78928966 https://blog.csdn.net/qq_14 ...
- destructuring
解构(结构化赋值): 解构过程中,具备赋值和变量声明两个功能 目的在于把等号左右长的相似的两个东西内部的值取出来. 对象数组都可以参与解构: let obj = {name: ‘duyi’,age: ...
- 云笔记项目-MyBatis返回自增类型&堆栈对象补充理解
在云笔记项目中,讲到了MySql的自增,MyBatis查询到自增类型数据后可以设置返回到参数属性,其中学习了MySql的自增写法,堆栈对象等知识. MySql数据类型自增 建立一张Person表,其中 ...