文章目录 一.基础二.安装TeamCityteamcity服务的启动与关闭build agent的配置 三.基本的持续集成流程
一.基础
持续集成是什么?
定期的把团队成员的代码集成在一个共享库,进行自动构建(包括自动测试)的检验,以尽快发现集成错误。总而言之:集合代码,自动构造编译),发现错误。
TeamCity是什么?
针对开发者的持续集成服务器,用于构建项目。
TeamCity可以做什么?
自动的,并发的在不同环境和平台进行代码构建优化代码集成周期等等。
关于TeamCity的基本概念
TeamCity 编译系统由服务器TeamCity Server)和构建代理 build agents)组成。
TeamCity Server本身不进行编译和测试。它管理与它建立连接了的构建代理,发送构建任务给构建代理。与构建结果有关的信息存在数据库中。
build agent 是监听teamcity server的请求和启动执行构建过程的软件。它需要单独安装与配置。它可以安装在别的机器或虚拟机上建议安装不同机器上)。
project:一个TeamCity项目指一个软件项目,或者软件项目的某个版本。
build configuration构建配置):一些设置。包含VCS roots, build steps, build triggers
VCS root是一些版本控制的设定,它规定了TeamCity怎样于一个版本控制系统交流,从而实现监控项目的变化和获取构建项目需要的资源。
build runner构建运行器):它是Teamcity的一部分,Teamcity允许用特定的构建工具去实现集成。在构建配置中,一个build runner定义了怎样去运行一个构建过程和报告构建完成的结果。
build step构建步骤):每个构建步骤都用一个build runner表示,而这个构建运行器提供了:构建工具,测试框架或者代码分析引擎的集成。
build trigger构建触发器):出现特定事件后,它是自发启动一个新的构建过程的规则。
change:指源代码的改变
Build artifacts:一个构建过程生成的文件。
二.安装TeamCity
参考此文
${home}/logs/teamcity-agent.log 安装agent后,agent的日志文件位置。${home}变量是解压目录。
teamcity服务的启动与关闭
有以下几个启动脚本:
…/Teamcity/bbdzc/runAll.sh
…表示服务安装的目录。runAll.sh启动teamcity服务的同时,会启动默认的Agent安装teamcity server时同时安装的)。
…/Teamcity/bbdzc/teamcity-server.sh
只启动teamcity服务。启动方式当前处于脚本所在目录):
./teamcity-server.sh start #只启动teamcity服务./runAll.sh stop #关闭服务和默认agent build agent的配置
假设已经下载号agent压缩包,并且成功解压。则
agent进程必须要满足以下条件:
angent进程能通过http协议连接到外部的服务器URL。这通过配置BuildAgent.properties文件中的serverUrl参数可以实现。这个文件在…/buildAgent/conf/目录下。实际上在此目录上有一个 buildAgent.dist.properties文件,二者内容是一样的。 三.基本的持续集成流程
说明:
TeamCity server检测到版本库中的变化在数据库中把这种改变存储起来触发器发现数据库中的改变后,就创建一个构建进程build)被触发的build前往一个build queue此build被安排给一个空闲的,兼容的build agentagent执行build steps。完成此build,agent把build artifacts 发给服务器。
Agent-Server间的数据传输
一个agent通过配置serverUrl参数连接上teamcity server。