基于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服务器开发-> ...
随机推荐
- c#控件 menuStrip(转)
一.概述 菜单通过存放按照一般主题分组的命令将功能公开给用户. MenuStrip 控件是此版本的 Visual Studio 和 .NET Framework 中的新功能.使用该控件,可以轻松创建 ...
- java面试题复习(二)
//我又回来了 11.数组有没有length()方法?String有没有length()方法? 数组只有length属性,String有length()方法.注意:JavaScript获取字符串长度使 ...
- python大法好——ython GUI编程(Tkinter)
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- 基于Keepalived的MySQL高可用
keepalived负责的是故障转移,至于故障转以后的节点之间数据的一致性问题依赖于具体的复制模式.不管是主从.一主多从还是双主.集群节点个数.主从具体的模式无关(常规复制,半同步复制,GTID复制, ...
- win10 开发mfc 64位 ocx控件
问题1.模块“XXX.ocx”加载失败 解决办法:项目--〉属性--〉常规-〉配置类型-〉 动态库(.dll) 修改为 静态库(.lib) 问题2.1>x64\Release\stdafx.o ...
- SpringBoot之Swagger2
SpringBoot利用Swagger2只需配置少量的注解信息便能方便地构建强大的API文档. 1.添加maven依赖 2.创建Swagger2配置类 3.在API添加文档内容 4.访问http:// ...
- PTA变成总结1
1)实验代码 #include<stdio.h>int main(){ int N,k,n,i,j,p,m,ge; char op; while(1){ scanf("%d % ...
- opencv 之 transformation
getAffineTransform() : calculates an affine transform from three pairs of the corresponding points. ...
- Win10 for Docker 安装 K8S
win 10 docker安装K8S中遇见的一些问题,记录下来方便自己以后避免采坑. 安装步骤: 1.安装Docker for windows.在docker官方下载,然后傻瓜式安装. 安装成功以后再 ...
- 大数据入门到精通16--hive 的条件语句和聚合函数
一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," ...