TeamCity系列01:安装和配置

栏目: 数据库 · 发布时间: 5年前

内容简介:TeamCity[下文简称TC]是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。声明:本系列所有内容针对Jdk1.8环境。

TeamCity[下文简称TC]是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。

声明:本系列所有内容针对Jdk1.8环境。

TeamCity系列01:安装和配置

首先明确一个概念,什么是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)选择安装的功能组件:

TeamCity系列01:安装和配置

Build Agent:构建代理,实际代码集成构建的载体,默认和TC服务Server安装在同一台服务器上。TC支持多构建代理,TC Server可以连接不同服务器上的多个不同构建代理,协同工作。由于当前是在演练环境,请勾选。

Server:TC服务,主要承载TC的核心服务和web界面,请勾选。

同时,勾选Windows Service,安装windows服务。

3)选择端口

默认端口是80,建议修改成8111:

TeamCity系列01:安装和配置

4)配置Build Agent的属性:

TeamCity系列01:安装和配置

如上图可知:TC服务的web地址是http://localhost:8111,同时构建代理对TC服务的监听端口是9090,以及代理所在的目录是C:\Softapp\JetBrains\TeamCity2\buildAgent,即在TC的安装目录下:

TeamCity系列01:安装和配置

5)选择通过系统账号运行TC服务和Build Agent代理服务

TeamCity系列01:安装和配置

TeamCity系列01:安装和配置

6)开启服务

TeamCity系列01:安装和配置

也可以通过windows services管理面板手动管理。

TeamCity系列01:安装和配置

Centos7下安装:

确保已经安装了git和maven,并配置好了系统环境变量,这很重要。

1)下载tar.gz安装程序:http://www.jetbrains.com/teamcity/download/,并将安装包传送至centos系统,如拷贝至/data/software/目录中:

TeamCity系列01:安装和配置

下面安装2018.1.2版本:

2)解压2018.1.2版本:

tar -xzvf /data/software/TeamCity-2018.1.2.tar.gz

生成TeamCity目录,打开目录,内容如下:

TeamCity系列01:安装和配置

见上图:

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系列01:安装和配置

TeamCity数据目录是TeamCity服务器用于存储配置的设置信息、构建结果和当前操作的文件信息的目录。该目录是所有配置设置的主存储,并保存对TeamCity安装至关重要的数据。

默认即可,点击Proceed。

2)配置数据库

TeamCity系列01:安装和配置

TeamCity可以在 SQL 数据库中存储构建历史记录,用户,构建结果和一些运行时数据,以便后续问题排查。

其中,包括HSQLDB内置数据库以及其他可持久化到硬盘的数据库,如 mysql 等。

HSQLDB是默认的内置数据库,但不建议使用,摘录TC官网所言:

在第一次TeamCity运行时,默认情况下建议使用基于HSQLDB数据库引擎的内部数据库。内部数据库仅适用于评估目的;它开箱即用,无需额外设置。

但是,我们强烈建议在生产环境中使用外部数据库作为后端TeamCity数据库。
外部数据库通常更可靠并提供更好的性能:内部数据库可能崩溃并丢失所有数据(例如,在“磁盘空间不足”情况下)。
此外,内部数据库在大型数据集(例如,超过200Mb的数据库存储文件)上可能变得非常慢。
另请注意,如果您使用内部数据库,我们的支持不会涵盖任何性能或数据库数据丢失问题。

简而言之,不要将内部HSQLDB数据库用于生产TeamCity实例。复制代码

我们选择MySQL数据库:

TeamCity系列01:安装和配置

需要拷贝一个mysql jabc连接的jar到数据目录的lib/jabc目录下,或者选择在线下载。

TeamCity系列01:安装和配置

然后再创建一个空数据库,执行如下命令:

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的所有者账户信息

TeamCity系列01:安装和配置

输入用户名和密码后,点击Create ccount,完成TC的配置。

好了,本文就到这里,下一篇讲讲TC的基本使用。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Design Patterns—深入淺出設計模式

Head First Design Patterns—深入淺出設計模式

天瓏

寫應用程式時需要依照需求預先規劃、設計,而設計模式累積了前人的經歷,經由四人幫彙整出一系列的設計模式,以利後人可以套用。本書集合四人幫的23個模式(十幾年前的事)外加這十幾年來新增的一些模式,作者群以詼諧、幽默、圖文並茂、打破傳統著書的方式,由淺入深地詳解了設計模式的精神及重點。全書全部以當紅的 Java 程式語言為範例。 本書特點: * 全世界第二本書......一起来看看 《Head First Design Patterns—深入淺出設計模式》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具