Fork me on GitHub

持续集成之TeamCity体验篇

持续集成之TeamCity体验篇

JetBrains简介

官网:https://www.jetbrains.com/
JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。

相关产品:

  • IntelliJ IDEA - 一套智慧型的Java整合开发工具,特别专注与强调程序师的开发撰写效率提升
  • PHPStorm 7.0 发布,PHP 集成开发工具
  • PyCharm 3发布,智能Python集成开发工具
  • RubyMine -RubyMine 是一个为Ruby 和Rails开发者准备的IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中。
  • WebStorm8.0 发布,智能HTML/CSS/JS开发工具
  • AppCode - 开发的ObjC的IDE,是一个XCode的替代物
  • ReSharper- 一套用来搭配Microsoft公司Visual Studio .NET集成开发环境的插件(Plug-In),此一外挂的功效在于让程式进行再分拆、增进撰写效率,并且能支援C#编程语言
  • dotTrace- 一套效能分析软件,能有效、轻易的找到.NET应用程式中最耗占处理器运算资源的效能瓶颈症结、环节。
  • dotCover - 一个为.NET开发人员所提供的代码覆盖工具
  • dotPeek - .NET反编译工具
  • TeamCity - 一款针对专业开发人员和构建工程师的用户友好的持续集成(CI)服务器
  • YouTrack - 一款创新性的以键盘操作为主的问题和项目跟踪工具

TeamCity简介

TeamCity部署实践

下载地址:https://www.jetbrains.com/teamcity/download/

环境说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@linux-node8 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@linux-node8 ~]# uname -r
3.10.0-327.el7.x86_64
[root@linux-node8 ~]# uname -m
x86_64
[root@linux-node8 ~]# docker version
Client:
Version: 17.06.2-ce
API version: 1.30
Go version: go1.8.3
Git commit: cec0b72
Built: Tue Sep 5 19:59:06 2017
OS/Arch: linux/amd64

Server:
Version: 17.06.2-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: cec0b72
Built: Tue Sep 5 20:00:25 2017
OS/Arch: linux/amd64
Experimental: false

常规部署

JDK下载地址,下载jdk-8u161-linux-x64.rpm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@linux-node8 ~]# rpm -ivh jdk-8u161-linux-x64.rpm
[root@linux-node8 ~]# vim /etc/profile
# JAVA bin PATH setup
export JAVA_HOME=/usr/java/jdk1.8.0_161/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[root@linux-node8 ~]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

[root@linux-node8 ~]# wget https://download.jetbrains.8686c.com/teamcity/TeamCity-2017.2.2.tar.gz
[root@linux-node8 ~]# tar -zxf TeamCity-2017.2.2.tar.gz
[root@linux-node8 ~]# cd TeamCity/bin/
[root@linux-node8 bin]# ./runAll.sh -h
Run as ./runAll.sh (start|stop[ force])
[root@linux-node8 bin]# ./runAll.sh start
Spawning TeamCity restarter in separate process
TeamCity restarter running with PID 22435
Starting TeamCity build agent...
Starting TeamCity Build Agent Launcher...
Agent home directory is /root/TeamCity/buildAgent
Current Java runtime version is 1.8
Lock file: /root/TeamCity/buildAgent/logs/buildAgent.properties.lock
Using no lock
Done [22854], see log at /root/TeamCity/buildAgent/logs/teamcity-agent.log
[root@linux-node8 bin]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::8111 :::* LISTEN 22625/java

Web地址访问:http://192.168.200.108:8111

Docker部署

1
2
3
4
5
6
7
8
9
[root@linux-node8 ~]# docker pull jetbrains/teamcity-server
[root@linux-node8 ~]# docker run -d -it --name teamcity-server-instance \
-v /opt/teamcity_server/datadir:/data/teamcity_server/datadir \
-v /opt/teamcity_server/logs:/opt/teamcity/logs \
-p 8080:8111 \
jetbrains/teamcity-server
[root@linux-node8 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6cb7425ba0d jetbrains/teamcity-server "/run-services.sh" About an hour ago Up About an hour 0.0.0.0:8080->8111/tcp teamcity-server-instance

访问:http://192.168.200.108:8080

点击Proceed,然后选择数据库类型,由于是尝试选择第一项即可


初始化组件后,出现License页面,同意然后继续。出现创建用户界面

创建用户:admin 密码:123456,继续完善用户信息、设置UI等项目

TeamCity应用

创建第一个project

https://github.com/Julia-Alexandrova/Sample-Project
https://confluence.jetbrains.com/display/TCD10/Configure+and+Run+Your+First+Build

Install Build Agents

Agents->Install Build Agents->选择Agent Push

agent正常状态如下:

构建完成后状态如下


今天到此为止,以后有深入了解应用在分享给大家。明天就回家了,祝大家新的一年阖家欢乐,万事如意。

参考资料

https://confluence.jetbrains.com/display/TCD10/TeamCity+Documentation
https://www.jianshu.com/p/255a484555d9

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/1bd35325.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!