TeamCity : .NET Core 插件
笔者在《TeamCity : 配置 Build 过程》一文中提到 "TeamCity 内置支持几乎所有的 build 类型"。在当今这个软件语言和各种框架飞速发展的时代,要想支持所有的 build 类型显然是不可能的。比如 TeamCity 就没有内置对 .NET Core build 类型的支持,所以我们在《TeamCity : 配置第一个工程》一文中使用了 Command Line 类型(command line 类型可以搞定一切!),然后在脚本里手动调用了编译命令:
dotnet restore
dotnet build
最近,TeamCity 官方通过插件支持了 .NET Core build(Build, test and deploy .NET Core projects with TeamCity)。既然可以用更加优雅的方式来编译 .NET Core 程序了就让我们一起试试吧!
安装插件
请从 .NET Core Support 下载插件。
以管理员权限进入 Plugins List 页面,点击上方的 "Upload plugin zip":

然后选择上传已下载的插件:

上传完成后,文件会被放在服务器上的 plugins 目录下:

接下来需要重启 TeamCity 服务,然后就能看到新安装的插件了:

现在我们再去创建一个 build 步骤,就可以选择 Runner type 为 ".NET Core (dotnet)" 了:

.NET Core 插件支持的命令有:build, pack, publish, restore, test。下面我们将详细介绍如何配置这些不同的命令类型。
Restore
下载项目依赖的包。这个命令有很多的参数,比如您可以指定为哪个项目下载包,也可以指定从哪个源进行下载或者是把下载到的包放在哪个路径下。如果 UI 中没有您要的设置,您还可以指定一个命令行参数:

通过命令行参数您就可以无所不能了!
Build
编译项目,允许您指定 framework,runtime 等信息。当然也可以指定编译完成后的输出目录,还有万能的命令行参数!

Test
使用 xUnit framework 能够轻松的在 TeamCity 中集成您的 .NET Core 单元测试。要运行项目中的单元测试,参数的设置和其它命令差不多,下面是单元测试的结果:

Pack
要想把项目发布到 NuGet,首先要生成 NuGet 包。直接使用 Pack 命令就可以了,它会把项目打包成带有 nupkg 后缀的包:

Publish
Publish 命令把应用程序及其所有依赖项打包到文件夹,准备进行发布。它会编译应用程序,读取 project.json 文件中指定的所有依赖项并将生成的文件集发布到目录中。
根据可移植应用的类型,生成的目录包含以下内容:
1. 可移植应用程序 – 应用程序的中间语言(IL) 代码和应用程序的所有托管依赖项。
2. 独立应用程序 – 除上述内容外,还包括目标平台的完整运行时。
需要注意的是一定要为 publish 指定 Framework 和 Runtime:

TeamCity : .NET Core 插件的更多相关文章
- nopcommerce 4.1 core 插件 相关1
nop中 插件机制是比较值得学习的: Nop 插件学习: 1. 项目里面的生成必须是采用 直接编辑项目文件,参考nop原本的项目文件 动态加载插件的方法-mvc3 参考: using System.L ...
- .NET Core中插件式开发实现
前言: 之前在文章- AppDomain实现[插件式]开发 中介绍了在 .NET Framework 中,通过AppDomain实现动态加载和卸载程序集的效果. 但是.NET Core 仅支持单个默认 ...
- Qt Creator插件工作流程代码走读
Qt Creator有个很风骚的插件管理器PluginManager,还有个很骚包的插件说明PluginSpec.基本上,所有的Qt程序的入口都是传统的C程序一样,代码流程从main()函数开始. ...
- asp.net core 使用NLog记录日志到txt文件
一.使用VisualStudioCode创建一个webapi项目(也可以是mvc等).一个类库(用于封装记录日志方法,当然如果使用依赖注入到控制台项目,就不需要此类库了). 二.在类库中添加NLog. ...
- ASP.NET Core 添加NLog日志支持(VS2015update3&VS2017)
1.创建一个新的ASP.NET Core项目 2.添加项目依赖 NLog.Web.AspNetCore 3.在项目目录下添加nlog.config文件: <?xml version=" ...
- 在asp.net core中使用NLog
第一步:nuget 引入 NLog.Web.AspNetCore 4.5+ 第二步:放入nlog.config <?xml version="1.0" encoding= ...
- ASP.NET Core整合Zipkin链路跟踪
前言 在日常使用ASP.NET Core的开发或学习中,如果有需要使用链路跟踪系统,大多数情况下会优先选择SkyAPM.我们之前也说过SkyAPM设计确实比较优秀,巧妙的利用Diagnosti ...
- Qt Creator 源码学习笔记04,多插件实现原理分析
阅读本文大概需要 8 分钟 插件听上去很高大上,实际上就是一个个动态库,动态库在不同平台下后缀名不一样,比如在 Windows下以.dll结尾,Linux 下以.so结尾 开发插件其实就是开发一个动态 ...
- eclipse安装zylin embedded cdt失败解决办法
最近再搞嵌入式开发,之前用惯了IDE调试单片机的那种方式,开发2440和am3358驱动时候无法方便的查看寄存器和变量,憋的抓耳挠腮,不爽得很,没有可视化环境进行实时调试观察,太特么蛋疼了.感觉这种情 ...
随机推荐
- CoreCRM 开发实录——想用国货不容易
昨天(2016年12月29日)发了开始开发的文章.本来晚上准备在 Coding.NET 上添加几个任务开始搞起了.可是真的开始用的时候才发现:Coding.NET 的任务功能只针对私有的任务开放.我想 ...
- Spring中Bean的作用域、生命周期
Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...
- 【深入Java虚拟机】之四:类加载机制
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.它们开始的顺序如下图所示: 其中类加载的过程包括了加载.验 ...
- BridgePattern(桥接模式)
/** * 桥接模式 * @author TMAC-J * 应用于多维度方案 * 用组合的形式代替继承 * 符合单一职责原则 * 一个类只有一个引起他变化的原因 * 增加程序灵活性 */ public ...
- 【JQ基础】数组
each() 方法规定为每个匹配元素规定运行的函数.
- 常用 meta 整理
<!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 --> <meta name="HandheldFriendly" con ...
- Maven安装
开发分布式的商场系统,用到了一些新的技术,做一个记录和分享 这里讲一下maven安装 首先什么是Maven Maven作为一个构建工具,不仅帮我们自动化构建,还能抽象构建过程,提供构建任务实现.他跨平 ...
- 敏捷转型历程 - Sprint3 Grooming
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- Tomcat 部署我的第一个程序
idea 生成war包.先双击clean,再双击package.生成成功之后就会产生war包. 第二步:将生成好的war文件复制到tomcat文件夹下. 第三步:配置tomcat的server.xml ...
- SpringMVC_简单小结
SpringMVC是一个简单的.优秀的框架.应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,fi ...