大名鼎鼎的Intellij IDEA大家都听说过吧,它的出品公司Jetbrains不仅推出了一系列好用的IDE,同时还推出了现在正热的Kotlin语言。Jetbrains还有一个非常好用的产品就是今天要介绍的持续集成工具TeamCity。

安装

Windows下安装

要安装TeamCity很简单,首先到下载页面下载TeamCity,由于这里我用的是Windows系统,所以下载Windows版本的安装包。下载完成之后安装即可。在Windows下安装有一个好处就是可以安装为服务,这样以后如果需要管理TeamCity的状态会更方便一些。这里要说下,TeamCity分为两个服务,一个叫做构建代理,实际的项目构建都是通过这个代理服务来执行的;另一个服务就是TeamCity的网页版控制端,让我们可以方便的通过网页进行管理。

当然在下载页面上可以看到有多个操作系统,不论是Windows、macOS还是Linux都可以运行TeamCity。

Docker下安装

现在虚拟化服务越来越流行了,因为虚拟化真的非常方便。如果需要在Docker中启用TeamCity也同样简单。TeamCity对应的DockerHub页面在这里。

首先要做的就差拉取TeamCity镜像。

docker pull jetbrains/teamcity-server

拉去镜像之后启动它的实例即可。下面是官方页面上给出的例子,当然这里的几个名称和文件位置可以根据需要自行修改。

docker run -it --name teamcity-server-instance  \-v <path to data directory>:/data/teamcity_server/datadir \
    -v <path to logs directory>:/opt/teamcity/logs  \
    -p <port on host>:8111 \
    jetbrains/teamcity-server

使用TeamCity

初始化

安装完成并启动TeamCity之后,我们就可以在Web页面中访问它了。如果是Windows系统,那么默认端口是80,如果是其他系统则是你自己设置的端口。然后访问浏览器的localhost:80即可看到TeamCity页面。第一次使用需要配置用户并初始化,之后稍微等待一段时间即可。

之后应该会看到类似的界面,这样TeamCity就安装好了。当然我新建了两个项目,所以实际的界面可能会有所差别。

配置数据库

还有一个注意点就是配置数据库了。默认情况下TeamCity使用的是内置的数据库,性能并不怎么样。所以为了将来使用更加顺畅,TeamCity推荐我们设置自己的数据库。

举个例子,如果我准备用MySQL数据库,那么我需要下载一个MySQL的JDBC驱动mysql-connector-java-5.1.42-bin.jar,然后把它放到TeamCity的数据文件夹的lib\jdbc下,然后在TeamCity中配置相应的数据库用户名和密码以便访问数据库。

当然这是Windows下的情况,如果使用Docker,可能不需要自己配置数据库。另外配置玩数据库之后并不是万事大吉,有时候TeamCity还会帮你检测到数据库的性能问题,这时候只要照着他的提示修改数据库的配置即可。

新建项目

第一次使用TeamCity的时候会提示你新建项目。之后如果要新建项目,点击右上角的Administration即可。新建项目时需要提供项目代码的URL,支持Git、SVN等工具,这里使用了我的一个简易小项目作为例子,它的代码在这里。

然后TeamCity会检查输入的地址,并提醒我们确认。

这样,项目就建立完成了。

设置构建步骤

持续集成工具需要管理项目的整个生命周期,所以仅仅添加了项目还是不够的。下面一步就是要设置具体的项目构建步骤。不同的项目可能有不同的构建过程,所以这里就是设置的重点了。特别要说一下,TeamCity的免费版本只能支持20个构建步骤,所以如果需要用到更多配置的话就需要付费购买商业版了。

另外从这里就可以看出构建工具的重要性。如果项目是Java项目,使用了业界著名的Maven或Gradle这样的构建工具来管理项目,那么TeamCity只需要自动检测就可以完成所有配置步骤。如果没有使用这样的工具,那么可能需要自己设置构建过程了。(比方说我这里的WPF桌面程序,就只能自己设置了)

由于我用的例子是WPF桌面程序,所以这里就来说说.NET程序的构建过程配置。如果使用了自动检测功能的话,那么TeamCity会自动帮你添加一个Visual Studio (sln)步骤。不过仅仅这一个步骤是远远不够的,所以我们需要添加其他步骤。

首先考虑到项目中可能使用多种第三方库,而在.NET平台下第三方库一般都是用NuGet获取。所以我们需要添加一个NuGet步骤。首先点击上图中的configure build steps manually,然后选择NuGet Installer类型,在弹出的界面中设置相应的选项。

然后需要设置构建步骤,选择Visual Studio (sln)即可。

这样一来,项目构建的步骤就配置好了。

构建项目

设置好构建步骤之后,下一步就可以开始构建项目了。点击页面上面的Projects,切换回项目视图。然后点击项目右边的Run即可。

这时候构建代理右边的空白框也会变成蓝色,表示正在构建项目。等待片刻,项目就会构建完毕。一个构建任务就完成了。

测试项目

一个成功的项目必然有完整的测试过程。还是那句话,如果项目使用了成熟的构建工具,那么TeamCity就会自动检测和使用这些功能。但是如果TeamCity没有自动检测到的话,就需要手动设置了。

首先点击对应项目的Build链接,然后点击构建设置(Settings),并在页面下方找到构建步骤(Build Steps)。

在前面我们添加了两个步骤,下面还要继续添加一个测试步骤。新建一个步骤,类型选择Visual Studio Tests。在Visual Studio Tests下还有两个类型,MSTest和VSTest。它们的区别在于VSTest需要TeamCity构建代理服务器上同时安装有Visual Studio或者Visual Studio Test Agent。然后Test file names这里需要填写测试项目的程序集,只要填写相对路径就行了。具体程序集的位置和名称需要根据项目来确定,我这个测试项目的情况就是如图所示。最后如果需要检查测试覆盖率,还可以设置最后的.NET Coverage tool。

设置完成后再次运行构建命令,可以看到这次不仅构建了项目,还同时运行了测试,测试结果也会一并显示。

如果点击进入详情查看,还会获得更丰富的结果。这里我同时选择了代码覆盖率功能,可以看到非常方便的图表显示。

自动构建

前面所有操作全部是手动点击执行构建的。当然TeamCity也支持自动构建,默认情况下每个项目都会添加一个触发器,当项目所在的版本控制系统更新的时候触发构建。当然这个条件也是可以修改的。

如下图所示,触发器的设置在项目设置中,如果需要其他触发器设置在这里更改即可。

邮件通知

如果构建失败的话,TeamCity可以向你账户发送电子邮件提醒你状况,不过这需要你在TeamCity中设置SMTP服务器才行。如果是公司的话,应该可以使用公司的企业邮箱进行设置。个人建议不要使用国内的电邮,因为有些国内电邮的服务器由于经常发送垃圾邮件,可能会被其他一些电邮拉黑,导致无法获取电子邮件。

持续集成工具TeamCity快速入门相关推荐

  1. 持续集成:TeamCity 最详细的安装和使用介绍

    最近小熙在看有关持续集成相关的东西,首先肯定是找开发工具了.嗯,听说TeamCity不错,所以找寻相关资料.发现一篇讲述不错的,特此转载和大家分享下 如果各位小伙伴们想要破解版的,请先在下文的官网链接 ...

  2. 持续集成工具 Jetbrains TeamCity 简介

    目录 安装 Windows下安装 Docker下安装 使用TeamCity 初始化 配置数据库 新建项目 设置构建步骤 构建项目 测试项目 自动构建 邮件通知 大名鼎鼎的Intellij IDEA大家 ...

  3. 持续集成工具 Jenkins vs TeamCity

    1. 先来看看受欢迎程度: 2. Jenkins vs TeamCity: What are the differences? Jenkins Jenkins 是一个开源工具,Jenkins的出现的时 ...

  4. python持续集成工具_21 个好用的持续集成工具,总有一款适合你

    原标题:21 个好用的持续集成工具,总有一款适合你 市场上持续集成工具众多,找到一个合适的工具并非易事,下面介绍了 21 个比较受欢迎的 CI 工具,并附上了下载链接. 1. Buddy 对 Web ...

  5. 21 个好用的持续集成工具,总有一款适合你

    市场上持续集成工具众多,找到一个合适的工具并非易事,下面介绍了 21 个比较受欢迎的 CI 工具,并附上了下载链接. 1. Buddy 对 Web 开发者来说,Buddy 是一个智能的 CI/CD 工 ...

  6. 21 个好用的持续集成工具

    市场上持续集成工具众多,找到一个合适的工具并非易事,下面介绍了 21 个比较受欢迎的 CI 工具,并附上了下载链接. 1. Buddy 对 Web 开发者来说,Buddy 是一个智能的 CI/CD 工 ...

  7. 中小型研发团队架构实践:高效率、低风险,一键发布并测试的持续集成工具Jenkins...

    一.Jenkins 简介 \\ 当每月发布次数变得越来越多时,如超过 200 次,发布工作人员的工作量会翻倍,此时由人工发布操作失误引起的风险会变得越来越大.为了提高项目的发布效率,也为了降低由人工操 ...

  8. 不容错过的8个持续集成工具

    如果你很熟悉"持续集成",一定会同意这样的观点:"它已经逐渐成为一种必不可少的工具".在这篇文章中,我们将介绍几款流行的持续集成工具.阅读后,你会对这些CI工具 ...

  9. 以持续集成工具实现DevOps之禅

    作为DevOps流程中的一个重要组成部分,持续集成(CI)的目标是对开发团队的代码进行集成,包括代码的构建.单元测试与集成测试的执行,以及生成执行结果的报表等等.CI使开发团队无需将时间浪费在处理代码 ...

最新文章

  1. 将 SQL Server 存储过程用于数据访问
  2. 问题1-2:能否说:“电路交换和面向连接是等同的,而分组交换和无连接是等同的”? 答:不行。这在概念上是很不一样的。这点可举例说明如下。...
  3. java线程中等待_Java:线程中的Thread.sleep():没有等待
  4. vue --- 获取子组件数据的一个应急方案$refs
  5. Time.deltaTime 含义和应用
  6. 骑马与砍杀服务器修复,骑马与砍杀21.3.1公共版和热修说明 修复联机模式
  7. python3 rrdtool 使用
  8. 【HTML5】页面传递参数给下一个页面
  9. 调用谷歌翻译API(FREE)的java代码
  10. 软件的生命周期与开发过程模型
  11. wind 修复 matlab 插件后仍然无效
  12. 浅析淘宝数据魔方技术架构
  13. Qt + FFmpeg 屏幕录制器
  14. 开发 mirai QQ机器人起步教程
  15. 俞敏洪:忍受孤独,失败,屈辱的能力是成就大业的必备条
  16. stlink下载调试器使用说明(STM32采用stlink下载程序)
  17. 2020年诺贝尔生理学或医学奖揭晓:由发现丙肝病毒的两位美国及一位英国科学家共同获奖...
  18. Asp.Net C# - AES加密、解密
  19. sql语句实现单表省市级连
  20. Xilinx技术文档翻译理解汇总

热门文章

  1. 我反对!--这个时代最诚实的声音42条
  2. electron+vue3全家桶+vite项目搭建【八】集成mockjs模拟数据
  3. 手把手教你在centos上配置Django项目(超详细步骤)
  4. Axure RP原型发布到公司服务器
  5. denied git permission_git使用中遇到的Permission to xxx denied to xxx问题如何解决
  6. 分布式存储能成为存储市场增长的主要驱动力
  7. 检查Logic Java 课程最近一次考试。如果全部没有通过考试(60分及格),则认为本次考试偏难,计算该次考试平均分加5分。
  8. 4路编码器脉冲计数器,8路DO,Modbus TCP模块 WJ96
  9. Java岗大厂面试百日冲刺【Day49】— 十个面试九个秒杀1 (日积月累,每日三题)
  10. matlab圆周率计算,matlab代码求圆周率的简单算法