本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置。教程中也分享了一个简单的CI、CD流程,仅作探讨。不过由于篇幅有限,完整的DevOps,我们后续独立探讨。
为了降低容器的使用门槛以及便于大家将容器技术应用于开发和实践,当前教程大部分线上实践结合TKE(腾讯云容器服务)来进行讲解和实践。当本系列内容讲解完成后,笔者将再单独讲解Kubernetes(k8s)。
最后,长沙技术社区第一次线下交流会将在2019年3月10日下午2点开始,有兴趣的朋友可以参与交流。名额有限,详见《长沙.NET技术社区活动通知》。
目录
使用TeamCity来完成内部CI、CD流程1
一个简单的CI、CD流程1
关于TeamCity2
官方镜像4
使用腾讯云容器服务(TKV)搭建和托管TeamCity4
创建TeamCity Server容器服务4
创建Teamcity Agent代理服务7
连接和配置Agent9
创建项目以及配置CI10
使用TeamCity来完成内部CI、CD流程
本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置。至于完整的DevOps,我们后续独立探讨。
一个简单的CI、CD流程
以下分享一个简单的CI、CD流程(仅供参考):
注意
本流程需要使用git进行代码版本管理,推荐使用TFS搭建自己的代码版本库。自动部署推荐使用腾讯云镜像触发器实现,此步骤也可以使用脚本实现,如果是普通的.NET代码,推荐编写webdeploy命令脚本来完成自动部署。通知推荐大家使用钉钉机器人。
本流程仅作参考,后续笔者会独立一篇来讲解整个DevOps流程,以及项目(产品)渠道消息集成这块,这里仅作抛砖引玉,同时大家也可以更易于理解,容器技术大大简化CI、CD流程!
关于TeamCity
TeamCity是一款成熟的CI服务器,来自JetBrains公司。JetBrains已经在软件开发世界中建立了权威,他们的工具如WebStorm和ReSharper正被全球的开发者所使用。
TeamCity在它的免费版本中提供了所有功能,但仅限于20个配置和3个构建代理。额外的构建代理和构建配置需要购买,你可以在这里找到价格。
TeamCity安装后即可使用,可以在多种不同的平台上工作,并支持各种各样的工具和框架。 能够支持JetBrains和第三方公司开发的公开的插件。尽管是基于Java的解决方案,TeamCity在众多的持续集成工具中提供了最好的.NET支持。TeamCity也有多种企业软件包,可以按所需代理的数量进行扩展。
TeamCity分为专业版和企业版,专业版免费,支持100个构建配置,允许完全访问产品的所有功能,足够小团队小公司来完成自己的CI流程的构建了。
下载地址:
TeamCity可以通过执行文件安装,也可以在Docker容器中运行。本篇教程主要讲解通过腾讯云容器服务(TKV)来搭建和托管TeamCity环境。
官方镜像
官方镜像地址:
https://hub.docker.com/r/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
此命令需要映射对应的数据目录和日志目录以及端口。镜像名称为jetbrains/teamcity-server。