TeamCity
TeamCity is Powerful Continuous Integration out of the box.
类似于 jenkins,可以对项目进行持续集成。
优势:可以和 idea 编辑器无缝集成。
基础介绍
- 支持的平台
TeamCity 10.x and 2017.x Supported Platforms and Environments
- 持续集成
Continuous Integration is a software development practice in which developers commit code changes into a shared repository several times a day.
- TeamCity
Quick Start
环境
- 操作系统环境
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.1
BuildVersion: 17B1003
- JDK
确保 JDK 正确安装
$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
- JAVA_HOME
确保 JAVA_HOME
已经正确配置
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
下载
- Download
将下载后的文件放在你想放的位置,比如我放在 /Users/houbinbin/it/tools/teamcity
,我们称之为 ${teamcityHome}
- Unzip
tar zxf TeamCity-2017.2.1.tar.gz
解压后进入加压文件夹(TeamCity),内容如下:
$ pwd
/Users/houbinbin/it/tools/teamcity/TeamCity
$ ls
BUILD_50732 Tomcat-running.txt buildAgent devPackage licenses temp
TeamCity-readme.txt bin conf lib service.properties webapps
houbinbindeMacBook-Pro:TeamCity houbinbin$
运行
- Start
$ runAll.sh start
日志如下:
$ pwd
/Users/houbinbin/it/tools/teamcity/TeamCity/bin
$ runAll.sh start
Spawning TeamCity restarter in separate process
TeamCity restarter running with PID 62846
Starting TeamCity build agent...
Starting TeamCity Build Agent Launcher...
Agent home directory is /Users/houbinbin/IT/tools/teamcity/TeamCity/buildAgent
Current Java runtime version is 1.8
Lock file: /Users/houbinbin/IT/tools/teamcity/TeamCity/buildAgent/logs/buildAgent.properties.lock
Using no lock
Done [63456], see log at /Users/houbinbin/it/tools/teamcity/TeamCity/buildAgent/logs/teamcity-agent.log
你可以在 ${teamcityHome}/conf/server.xml
文件中修改 <Connector>
节点:
<Connector port="8111"></Connector>
- Stop
runAll.sh stop
初次访问
- Data Directory
直接访问初始页面,确定一下 Data Directory,我的默认为
/Users/houbinbin/.BuildServer
直接继续点击
- 数据库链接设置
我选择使用 MySQL,JDBC driver 默认没有提供,你可以根据提示下载放到指定的目录。
下载地址:http://dev.mysql.com/downloads/connector/j.
解压后放置的目录:/Users/houbinbin/.BuildServer/lib/jdbc
$ mv mysql-connector-java-5.1.45-bin.jar /Users/houbinbin/.BuildServer/lib/jdbc
$ pwd
/Users/houbinbin/.BuildServer/lib/jdbc
$ ls
mysql-connector-java-5.1.45-bin.jar
然后点击 ,提示不再有说明成功。
- 创建数据库用于存储信息
创建数据库 teamcity
- 指定链接信息
Database host[:port]: (此处默认不填,系统会使用默认本地,默认端口)
Database name*: teamcity
User name: root
Password: XXX
配置完成点击
系统将会初始化一系列东西,请耐心等待。
- 接受协议
初始化完成后会有一份协议,确认之后可继续。
创建项目
Create Administrator Account
创建管理员账号。为了测试方便,我们创建用户 admin/123456。
My Settings & Tools
初始页面如下:
(1) 中间邮件处填写你的邮箱,并保存可以收到系统的提示。
(2) 左上角点击 projects 以创建项目。
Create project
- 指定代码仓库
我们直接点击按钮 +Create project 添加一个项目。
默认使用 From a repository URL,我们用 github 的项目来测试。
Parent project: * <Root project>
Repository URL: * https://github.com/houbb/animation
Username: houbb
Password: XXX
配置完成点击
然后会提示 VCS repository connection has been verified.
,确认项目信息无误后直接点击按钮 。
- 构建 Steps
Auto-detected Build Steps 系统直接分析出这是一个 maven 项目,我勾选 Maven,并点击
这里可以添加多个步骤,简单起见,我使用默认的步骤。(可点击 Edit
进行编辑)
- 运行
直接点击上方 run
按钮,执行指定的步骤。
可以在 build log 中查看运行日志。
- 构建 Triggers
即何时触发构建操作,可以定时,或是在每次提交进行。此处暂时不做研究。
和 IDEA 的集成
开头就说过,这和 idea 是同一家公司的产品。
直接在 idea plugins 中下载安装 teamcity
插件,重启并且登录即可。