基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

时间:2022-04-26 08:04:20

一 Web Server(Windows)端的配置

1.配置IIS,重要的是管理服务

  基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

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.确保相关服务启动

基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

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

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

    

    /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

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

  4.2 build

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

  4.3 publish

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

    /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

  基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

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

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

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

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

  5.4 npm build

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

  5.5 publish(基于FTP进行发布)

    基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署

    因为npm打包后,会放到dist目录里,所以我这里选择dist目录进行上传

** 目前这个方法有2个主要缺陷:

  1 是会删除服务器上该网站下的所有文件,尝试过使用PS调用webdeploy命令进行发布,但是PS总是引号出错,遂放弃.目前测试环境已经够用,生产要慎重.

  2 没有做版本管理,发布后,没法办做版本回退.

基于TeamCity的asp.net mvc/core,Vue 持续集成与自动部署的更多相关文章

  1. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  2. ASP.NET MVC Core的TagHelper(基础篇)

    TagHelper又是一个新的名词,它替代了自之前MVC版本的HtmlHelper,专注于在cshmlt中辅助生成html标记. 通过使用自定义的TagHelper可以提供自定义的Html属性或元素, ...

  3. 基于Bootstrap的Asp.net Mvc 分页

    基于Bootstrap的Asp.net Mvc 分页的实现 最近写了一个mvc 的 分页,样式是基于 bootstrap 的 ,提供查询条件,不过可以自己写样式根据个人的喜好,以此分享一下.首先新建一 ...

  4. .NET CORE学习笔记系列(1)——ASP.NET MVC Core 介绍和项目解读

    ASP.NET MVC Core 项目文件夹解读 一.项目文件夹总览 1.1.Properties——launchSettings.json 启动配置文件,你可以在项目中“Properties”文件夹 ...

  5. 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    将 ...

  6. [转帖]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 ...

  7. ASP.NET MVC Core的TagHelper (高级特性)

    这篇博文ASP.NET MVC Core的TagHelper(基础篇)介绍了TagHelper的基本概念和创建自定义TagHelper的方式,接着继续介绍一些新的看起来比较高级的特性.(示例代码紧接着 ...

  8. ASP.NET MVC Core Starter Kit

    上一篇博文<创建.NET Core程序的Nuget Package>提到准备创建一个Nuget包,用于自动生成一个简单的ASP.NET MVC Core的示例项目.本来是打算用Nuget实 ...

  9. 基于C&num;和Asp&period;NET MVC开发GPS部标视频监控平台

    基于C#和Asp.NET MVC开发GPS部标监控平台 目前整理了基于.NET技术的部标平台开发文章,可以参考: 1.部标Jt808协议模拟终端的设计和开发 2.C#版的808GPS服务器开发-&gt ...

随机推荐

  1. VTK中国文字显示和简单的医疗图像浏览软件

    使用VTK做一个简单的医学图像浏览软件(在http://blog.csdn.net/www_doling_net/article/details/8668870这篇博文的基础上改的),支持标准的医学图 ...

  2. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

  3. 【学习总结】GirlsInAI ML-diary day-14-function函数

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day14 认识函数function 函数相当于一个固定的公式,一个映射.有输入,有输出. 1-python内置函数 max ...

  4. 利用docker搭建ubuntu&plus;nginx&plus;PHP容器

      环境:操作系统(Ubuntu  16.04 64位); php7.1;  nginx/1.14.0   基础环境准备: 整体思路:docker pull一个ubuntu镜像,然后在容器中安装ngi ...

  5. Oracle EBS AR 更新客户配置文件

    DECLARE l_rec_profile_t hz_customer_profile_v2pub.customer_profile_rec_type; l_rec_profile hz_custom ...

  6. python之函数用法getattr&lpar;&rpar;

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法getattr() #getattr() #说明: ''' getattr(...) ...

  7. 网络通讯中 bind函数的作用

    面向连接的网络应用程序分为客户端和服务器端.服务器端的执行流程一般为4步,客户端程序相对简单,一般需要两个步骤. 服务器端执行流程4步如下: (1)调用socket函数,建立一个套接字,该套接字用于接 ...

  8. 利用ThreadLocal建立高质量事务处理

    ThreadLocal此类是一个以当前线程为key的map对象的构想. 当我们在web开发中,多个浏览器访问的时候,servlet为它们各开线程执行相应代码,而事务的执行依赖于特定的一个Connect ...

  9. &lbrack;Linux内核&rsqb;软中断、tasklet、工作队列

    转自:http://www.cnblogs.com/li-hao/archive/2012/01/12/2321084.html 软中断.tasklet和工作队列并不是Linux内核中一直存在的机制, ...

  10. Codeforces Round &num;540 &lpar;Div&period; 3&rpar; 部分题解

    Codeforces Round #540 (Div. 3) 题目链接:https://codeforces.com/contest/1118 题目太多啦,解释题意都花很多时间...还有事情要做,就选 ...