内容简介:TeamCity[下文简称TC]是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。声明:本系列所有内容针对Jdk1.8环境。
TeamCity[下文简称TC]是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。
声明:本系列所有内容针对Jdk1.8环境。
首先明确一个概念,什么是CI,CI要达到什么目的?简单来说,CI是一种软件开发实践,在软件项目团队中,每天都可能会有不同的开发人员提交代码,共享代码库中的代码是否时刻保持可运行状态,不得而知。那么,在开发进程中,持续的构建部署共享代码库,就能及时测试代码的可运行时态,及早发现问题并解决。
由此可见,在团队项目中,CI已经是必不可少的一环。
业界的CI工具也有很多,五花齐放,各显神通,如流行的开源工具Jenkins,以及CircleCI、GitLab CI等,本文不讨论各CI工具的优劣,聚焦TC的使用介绍。
TC是一款功能强大且用户用好的CI工具,具有以下主要功能:
1) 在不同平台和环境中同时运行并行构建
2) 优化代码集成周期并确保永远不会在存储库中获得损坏的代码
3) 通过智能测试重新 排序 查看即时测试结果报告
4) 支持 Java 和.net:为Java和.NET运行代码覆盖和重复查找器
5) 自定义构建持续时间,成功率,代码质量和自定义指标的统计信息
Windows下安装:
请确保系统中已经安装了maven和git软件,并正确配置了环境变量。这很重要。
1)下载exe安装程序:http://www.jetbrains.com/teamcity/download/
2)选择安装的功能组件:
Build Agent:构建代理,实际代码集成构建的载体,默认和TC服务Server安装在同一台服务器上。TC支持多构建代理,TC Server可以连接不同服务器上的多个不同构建代理,协同工作。由于当前是在演练环境,请勾选。
Server:TC服务,主要承载TC的核心服务和web界面,请勾选。
同时,勾选Windows Service,安装windows服务。
3)选择端口
默认端口是80,建议修改成8111:
4)配置Build Agent的属性:
如上图可知:TC服务的web地址是http://localhost:8111,同时构建代理对TC服务的监听端口是9090,以及代理所在的目录是C:\Softapp\JetBrains\TeamCity2\buildAgent,即在TC的安装目录下:
5)选择通过系统账号运行TC服务和Build Agent代理服务
6)开启服务
也可以通过windows services管理面板手动管理。
Centos7下安装:
确保已经安装了git和maven,并配置好了系统环境变量,这很重要。
1)下载tar.gz安装程序:http://www.jetbrains.com/teamcity/download/,并将安装包传送至centos系统,如拷贝至/data/software/目录中:
下面安装2018.1.2版本:
2)解压2018.1.2版本:
tar -xzvf /data/software/TeamCity-2018.1.2.tar.gz
生成TeamCity目录,打开目录,内容如下:
见上图:
bin:存放TC的可执行文件,如runAll.sh、startup.sh、shutdown.sh、teamcity-server.sh等;
buildAgent:默认构建代理目录,存放构建代理的文件以及执行信息;
conf:TC配置文件目录,如server.xml,可以更换TC的服务端口;
licenses:存放TC的凭证文件等;
logs:存放执行日志文件;
3)启动服务
runAll.sh脚本可以同时启动TC server和Build Agent;如果Build Agent需要单独启动的话,可以执行teamcity-server.sh单纯启动TC server,启停的命令如下:(后台执行)
- 同时启动TC server和Build Agent:nohup /data/software/TeamCity/bin/runAll.sh start,对应停止服务命令:/data/software/TeamCity/bin/runAll.sh stop
- 只启动TC server:nohup /data/software/TeamCity/bin/teamcity-server.sh start,对应停止服务命令:/data/software/TeamCity/bin/teamcity-server.sh stop
建议此处使用runAll.sh脚本。
TC服务配置:
在web浏览器中打开:http://localhost:8111,如果是远程centos服务器,首先开通8111防火墙,通过地址:http://[centos服务器ip]:8111访问。
1)配置TC数据存储目录Data Directory:
TeamCity数据目录是TeamCity服务器用于存储配置的设置信息、构建结果和当前操作的文件信息的目录。该目录是所有配置设置的主存储,并保存对TeamCity安装至关重要的数据。
默认即可,点击Proceed。
2)配置数据库
TeamCity可以在 SQL 数据库中存储构建历史记录,用户,构建结果和一些运行时数据,以便后续问题排查。
其中,包括HSQLDB内置数据库以及其他可持久化到硬盘的数据库,如 mysql 等。
HSQLDB是默认的内置数据库,但不建议使用,摘录TC官网所言:
在第一次TeamCity运行时,默认情况下建议使用基于HSQLDB数据库引擎的内部数据库。内部数据库仅适用于评估目的;它开箱即用,无需额外设置。 但是,我们强烈建议在生产环境中使用外部数据库作为后端TeamCity数据库。 外部数据库通常更可靠并提供更好的性能:内部数据库可能崩溃并丢失所有数据(例如,在“磁盘空间不足”情况下)。 此外,内部数据库在大型数据集(例如,超过200Mb的数据库存储文件)上可能变得非常慢。 另请注意,如果您使用内部数据库,我们的支持不会涵盖任何性能或数据库数据丢失问题。 简而言之,不要将内部HSQLDB数据库用于生产TeamCity实例。复制代码
我们选择MySQL数据库:
需要拷贝一个mysql jabc连接的jar到数据目录的lib/jabc目录下,或者选择在线下载。
然后再创建一个空数据库,执行如下命令:
create database <database-name> collate utf8_bin; create user <user-name> identified by '<password>'; grant all privileges on <database-name>.* to <user-name>; grant process on *.* to <user-name>;复制代码
然后在上图中填入数据库的连接信息,点击Proceed。
注意:必须新建一个空数据库并赋权,否则可能出现如下错误:
Found a TeamCity schema when expected an empty database复制代码
3)最后一步:创建TC的所有者账户信息
输入用户名和密码后,点击Create ccount,完成TC的配置。
好了,本文就到这里,下一篇讲讲TC的基本使用。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP and MySQL Web Development (3rd Edition) (Developer's Library
Luke Welling、Laura Thomson / Sams / 2004-09-29 / USD 49.99
We've taken the best and made it even better. The third edition of the best-selling PHP and MySQL Web Development has been updated to include material and code on MySQL 5, PHP 5 and on PHPs object mod......一起来看看 《PHP and MySQL Web Development (3rd Edition) (Developer's Library》 这本书的介绍吧!