Github和TeamCity的持续集成构建

一、简介

TeamCity是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等。

二、安装使用(Linux)

1、安装jdk

yum -y install java-1.8.0-openjdk-devel.x86_64

2、下载Teamcity安装包

https://www.jetbrains.com/teamcity/download/

3、解压(建议解压到/usr/loacl/)

tar -zxvf TeamCity-2023.11.3.tar.gz -C /usr/local/

4、启动

/usr/local/Teamcity/bin/runAll start

5、登录(http://ip:8111

PS:首次登录需要创建管理员账户,以及输入外部数据库(可以使用内部数据库)的信息。

三、与Github的集成构建

1、建立Github连接

(1)在主页面点击左上角Projects旁边的加号

(2)点击左上角的Root Project进入到根项目的配置页面,找到Connections设置,进入后选择Add Connection,这里我是跟GitHub网站连接的所以我选择GitHub.com

(3)登录上GitHub的官网并点击头像选择Settings,找到最下方的Developer settings,选择OAuth Apps,点击新建OAuth Apps,填写相关信息,其中Homepage URL和Authorization在Teamcity上的连接GitHub界面有显示可直接复制粘贴,Enable Device Flow也要勾选上,最后点击Register application便可创建。

(4)进入到你创建OAuth Apps中,选择Generate a new client secret授权生成新的密钥,复制密钥保存起来(只显示这一次),进入到Teamciy把Client ID和Client secret粘贴进去,保存即可。

2、创建项目

回到创建项目界面,在Repository URL中有GitHub的小图标点击后登录授权即可显示GitHub里面的存储库,选择对应的存储库,直接点击继续即可。

3、添加构建

进入到Build的配置页面(在项目下的Build中右上角的Edit configuration),找到Build Step,选择添加Build,这里我是选择Maven,在Goals中填写构建命令如clean package,Additional Maven command line parameters中填写Maven的其他参数如-Dmaven.test.failure.ignore=true(忽略测试失败,继续执行构建),选择maven和java的版本号,点击保存即可。

4、添加触发器

(1)在部署的Build配置页面选择Triggers,点击添加Add new trigger,选择VCS Trigger,勾选上 Queued build can be replaced with a more recent build(构建时有新的更改则构建新版本),其中Trigger rules可添加触发规则"-"开头是此更改不可以触发,"+"开头为可以触发,默认不写则全部可以触发,最后点击创建即可。

(2)测试:更改GitHub的代码查看是否自动触发构建。

相关推荐
阿巴~阿巴~3 小时前
Git 删除文件
git·gitee·github
绝无仅有3 小时前
Go 并发同步原语:sync.Mutex、sync.RWMutex 和 sync.Once
后端·面试·github
绝无仅有3 小时前
Go Vendor 和 Go Modules:管理和扩展依赖的最佳实践
后端·面试·github
项目題供诗4 小时前
Hadoop(四)
大数据·hadoop·github
10岁的博客10 小时前
GitHub宕机自救指南技术文章大纲
github
花椒和蕊10 小时前
记录git报错ssh: connect to host github.com port 22: Connection timed out,已解决
git·ssh·github
CoderJia程序员甲10 小时前
GitHub 热榜项目 - 日榜(2025-08-28)
ai·github·开源项目·github热榜
atwednesday11 小时前
git提交规范
github
顾辰逸you12 小时前
git打包流程
前端·github
早睡早起头发多12 小时前
Git 高级协作技巧:储藏与变基实战指南🛠️
github