1、介绍
TeamCity是一款成熟的CI服务器,来自JetBrains公司。它的免费版本中提供了所有功能,但仅限于20个配置和3个构建代理,额外的构建代理和构建配置需要购买。
TeamCity 和 Jenkins、Hudson 其实是非常一样的,基本流程都是差不多的,所以如果你会其他的几个 CI 工具的话,学习起来很快。
下载地址:https://www.jetbrains.com/teamcity/download/#section=get
以下分享简单的CI\CD流程(参考):
2、安装
TeamCity可以通过执行文件安装,也可以在Docker容器中运行。以下是通过gz包在linux系统安装步骤(供参考)
前期环境准备:
- JDK 1.8或以上
- Maven
- Git
- vim
- wget
2.1 下载
2.2 解压
tar xfz TeamCity-2020.1.3.tar.gz?_ga=2.260991236.824849827.1597283583-718468322.1597283583
进入conf目录,打开server.xml修改对应的端口(我这里是80)
保存退出
2.3 启动
进入bin目录,运行 ./runAll.sh start
3、登录配置
3.1 访问http://localhost:80
PS:如果访问不通,请查看防火墙状态
3.2 配置关系型数据库,建议测试可以默认,生产要选择自己安装的。
3.3 创建用户名密码
4、创建项目
4.1 点击 Create project
4.2 项目配置:gitlab
4.3 填写项目名称
4.4 maven 配置
- 1、Goals: 执行命令例如 clean install package
- 2、Addition maven:例如 -Dmaven.test.skip=true
- 3、Working directory:可以随意,也就是打包的位置
- 4、选择自定义的maven、jdk
PS: 如果此时点击run运行可能会报
Warning: No enabled compatible agents for this build configuration. Please register a build agent or tweak build configuration requirements.
4.5 配置TeamCity所需的Agent服务
1、进入目录buildAgent
2、修改conf下buildAgent.properties中 serviceUrl地址和Agent名字
3、进入bin目录 ./agent.sh start
此时进入TeamCity主页看到Agent服务是否可以看到,如果看不到请看《2.3启动》
4.6 run项目
进入页面Project,选择项目teamcitydemo中build中,右上角选择启动的Agent服务
此时点击run 就大功告成了
Ps:以上步骤,只是将项目通过git拉取,然后通过maven构建到服务器某个目录中。
如果需要运行Jar或者War包,可以通过执行命令行一样,jar xxx.jar或者把war包部署到web服务器中。
(就是在配置中增加buildSteps 选择执行命令行选项,比如 cp 、jar xx.jar)
也可以结合docker进行容器部署,请参考《6、整合docker,利用docker-compose挂载jar,并运行》
5、配置Trigger自动监控
5.1 进入项目,进入配置模块,选择VCS trigger
5.2 客户端 idea提交代码测试,Teamcity会自动发现并构建
5.3 也可以做定时触发
6、整合docker,利用docker-compose挂载jar,并运行
6.1 centos7 安装docker步骤省略。。。。(自行百度)
6.2 安装docker compose
可参考官方文档:https://docs.docker.com/compose/
这里使用pip方式安装:sudo pip install docker-compose(突破平时安装方式,pip方式不知道,自行百度)
安装成功测试 docker-compose -v
6.3 运行yml文件 (本文是通过编写dockerfile文件,在yml中build .)
前提会写dockerfile文件
编写yml文件
启动:(会覆盖之前镜像,配合teamcity做到持续更新部署)
docker-compose up -d --build --force
docker ps查看下
6.4 测试是否成功访问