asp.net core 通过 TeamCity 实现持续集成笔记
0x00
很早之前就想体验一把持续集成的快感,然后刚好手头上有个 asp.net core 的项目,就想来部署一下持续集成。一开始我是想用 Jenkins 的,弄了好半天,git 仓库没法同步下来,我就放弃了,然后发现 JetBrains 家的 TeamCity 官方出了一个 dotnet core plugin,简直不要太方便。果然,很快,我就实现了持续构建的功能,下面是操作方法。
0x01安装 TeamCity
先去 TeamCity 的官网下一个 Windows 的安装包,因为我用的是 windows server 2008。然后 ftp 上传到服务器,为啥不在服务器上面直接下载呢?因为服务器上享受不了睾贵的*雷会员加速,毕竟 TeamCity 是在国外的。然后很脑残的一路安装过去就好了,并没有很多要配置的地方,都是无脑下一步。
安装完毕后,会打开 TC 的 Web UI 窗口,在这里 TC 会让我们注册一个管理员帐号,并进行一些配置,完成之后,我们就可以从外部访问 TC Server了。
0x02启动、重启 TeamCity 服务
安装完成过后,TeamCity 会自动运行,但是后面的操作中会涉及到重启 TC 的操作,所以在这里先讲一下。
打开任务管理器,切换到服务选项卡,单击右下方的 服务... 。然后就进入了服务界面,在列表中找到 TeamCity 服务,然后右键单击,就可以随意启动、停止 TC 了。
0x03安装必要的 TC 插件
- dotnet-core-plugin 用于执行 dotnet 命令的 TC 插件
- FtpRunner 用于通过 ftp 部署 asp.net core 网站的插件
其实呢,第一个插件也可以用命令行代替的,毕竟 dotnet 的命令都很短。。。
然后我们就需要安装这些插件了,操作如下:


- 然后直接上传上面的压缩包就好了
- 上传完毕后,重启 TC 服务
0x04配置 TC 项目
这部分的东西稍微看下英文的提示都可以很容易的完成的,下面我就稍微解释一下 Build Configration 里面配置项的用途。

在这里我使用了5个构建步骤,分别是:
- restore -- 还原程序包
- build -- 构建
- publish-iis -- 使用 publish-iis 工具修改 web.config 文件中的占位符
- publish -- 发布 asp.net core 应用
- ftp upload -- 通过 ftp 上传到 iis 网站目录
下面的图中显示了具体的配置:

由于我当前的项目使用的是 Full Framework,所以我在 publish-iis 指定了 Framework 版本号 为 net452
至此,TC 持续集成就已经完成了一大部分了,当然了,还有自动测试的模块没有添加,不过现在这样子对我来说已经很足够了。
asp.net core 通过 TeamCity 实现持续集成笔记的更多相关文章
- ASP.NET Core + Docker +Jenkins 实现持续集成
1.新建一个ASP.NET Core MVC应用程序: 2.将其上传到git: 3.建立Jenkins任务 (1)选择"新建任务",输入任务名称,选择"自由风格项目&qu ...
- 跨平台应用集成(在ASP.NET Core MVC 应用程序中集成 Microsoft Graph)
作者:陈希章 发表于 2017年6月25日 谈一谈.NET 的跨平台 终于要写到这一篇了.跨平台的支持可以说是 Office 365 平台在设计伊始就考虑的目标.我在前面的文章已经提到过了,Micro ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- NET Core+win10+Jenkins+Github持续集成
本篇和上一篇NET Core+win10+Jenkins+Gogs+open ssh持续集成没什么区别,只不过源码库换成github. 这里有两点不一样的是: 获取的代码的凭证不用用户名和密码用sec ...
- Asp.Net Core 进阶(二) —— 集成Log4net
Asp.Net Core 支持适用于各种内置日志记录API,同时也支持其他第三方日志记录.在我们新建项目后,在Program 文件入口调用了CreateDefaultBuilder,该操作默认将添加以 ...
- ASP.NET Core框架揭秘(持续更新中…)
之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...
- ASP.NET Core 项目实战(持续更新~~~)
一.前言 准备写这个系列文章的设想开始于今年9月,毫无意外,期间又又又又拖了很长时间,文章主要是为了记录自己学习使用 ASP.NET Core Web API 与 Vue 创建一个前后端分离的项目的整 ...
- ASP.NET Core框架揭秘(持续更新中…)
之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...
- Asp.net core Identity + identity server + angular 学习笔记 (第三篇)
register -> login 讲了 我们来讲讲 forgot password -> reset password 和 change password 吧 先来 forgot pa ...
随机推荐
- SSH集成开发框架开发步骤
1. 环境搭建 a)添加Struts框架的支持 b)添加spring框架的支持(选中5个类库,且Copy类库到WEB-INF/lib目录下) c)在Eclipse 中,DataBase Explor ...
- BizTalk动手实验(十三)EDI解决方案开发配置
1 课程简介 通过本课程熟悉EDI解决文案的开发与配置,本动手实验步骤及内容采用微软官方SDK完成,学员在实验过程中结合官方教程来完成本实验 2 准备工作 从BizTalk安装目录的SDK中将EDI ...
- Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024)的解决
1.1.Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024),VisualSVN Ser ...
- mvn打包idea项目
首先 通过cmd进入docs 然后用cd命令进入项目文件夹所在路径 然后输入mvn -Dmaven.test.skip=true package//-Dmaven.test.skip=true跳过测试
- VC 菜单前的勾的切换
if (pMenu->GetSubMenu(2)->GetMenuState(ID_STOP_SPOT_OP_MOSUE,MF_BYCOMMAND) == MF_UNCHECKED) { ...
- 使用windows资源管理器的排序规则
对于windows资源管理器 abc_1_def是要排到abc_10_def前面的 而一般的排序规则, 都会吧_10_排到前面 所以为了使用习惯, 最好用资源管理器的排序规则, windows有个AP ...
- 《Linux内核分析》第五周 扒开系统调用的三层皮(下)
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK FIVE( ...
- js的实参是按值传递还是按引用传递
1.如果是基本类型,则是按值传递 var str = 'one';function f(string) { string = 'two';}f(str);console.log(str); // ...
- c#.net常用字符串函数 字符串常用方法
RegionsStr = RegionsStr.Remove(RegionsStr.LastIndexOf(","), 1); //去掉最后一个逗号 Compare 比较字符串 ...
- 用"僵尸对象"调试内存管理问题
Cocoa提供了"僵尸对象"(Zombie Object)这个功能.启用这项调试功能之后,运行时系统会把所有已经回收的实例转化成特殊的"僵尸对象",而不会真正回 ...