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驱动时候无法方便的查看寄存器和变量,憋的抓耳挠腮,不爽得很,没有可视化环境进行实时调试观察,太特么蛋疼了.感觉这种情 ...
随机推荐
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~
一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...
- 代码的坏味道(14)——重复代码(Duplicate Code)
坏味道--重复代码(Duplicate Code) 重复代码堪称为代码坏味道之首.消除重复代码总是有利无害的. 特征 两个代码片段看上去几乎一样. 问题原因 重复代码通常发生在多个程序员同时在同一程序 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
- arcgis api for js入门开发系列七图层控制(含源代码)
上一篇实现了demo的地图分屏对比模块,本篇新增图层控制模块,截图如下(源代码见文章底部): 图层控制模块实现的思路如下: 1.在地图配置文件map.config.js里面配置图层目录树节点信息,作为 ...
- SAP CRM 将组件整合至导航栏中
到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...
- Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
前提: 1.安装Android Studio(过程略) 2.官网下载OpenCV for Android 网址:http:opencv.org/downloads.html 我下载的是下图的版本 3. ...
- Android种使用Notification实现通知管理以及自定义通知栏(Notification示例四)
示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我 ...
- centos6和centos7防火墙的关闭
CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable st ...
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...