基于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服务器开发-> ...
随机推荐
- PHP批量保存图片
关于这个问题网上也有回答,我只是把我在工作中用到的代码分解出来,供需要的朋友使用.以下代码都已经经过测试,所以没有任何问题.有问题请加QQ:1127173874 第一部分 数据库表结构 create ...
- Spring事务实现分析
一.Spring声明式事务用法 1.在spring配置文件中配置事务管理器 <bean id="baseDataSource" class="com.alibaba ...
- Synchronized总结
一.synchronized加锁原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性. Java中每一个对象都可以作 ...
- CentOS7虚拟机配置ip地址
首先安装后的虚拟机选NAT模式配置vm的虚拟网络编辑器(vmware中的编辑),NAT模式中查看DHCP的范围,配置子网(写成和电脑一样),在linux中进入/etc/sysconfig/networ ...
- EFM32之GPIO
配置时钟: void CMU_ClockEnable(CMU_Clock_TypeDef clock, bool enable) CMU_ClockEnable(cmuClock_HFPER, tru ...
- Python 学习笔记01篇
编程基础很零碎 看了路飞学城的讲解视频,整体课程列表排列很清晰,每个视频都在十几分钟到二十几分钟之间,适合零碎化的的学习 第一章和第二章的前半部分可以较轻松地入门
- echarts 技巧自己的一些记录
1.不要输出 window["echarts"].init(chart) ,会卡死. let chart = document.getElementById("chart ...
- 使用拦截器对前端传入的字符串进行trim操作
@Before("apiItf()") public void before(JoinPoint joinPoint) throws Exception { Object[] ar ...
- 3D Math Keynote 2
[3D Math Keynote 2] 1.方向(diretion),指的是前方朝向.方位(orientation),指的是head.pitch.roll. 2.欧拉角的缺点: 1)给定方位的表达式不 ...
- Mongodb数据库学习
数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls)优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方便 ...