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的代码查看是否自动触发构建。

相关推荐
AKA__Zas11 小时前
接口自动化测试(1.0 初认识
python·ci/cd·学习方法
徐小夕11 小时前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
miofly14 小时前
GitHub 日榜趋势速报 | 2026-11-05
开源·github
wflynn1 天前
GitHub 日榜趋势速报 | 2026-11-03
开源·github
u1301301 天前
GitHub 热榜项目:日榜(2026-11-03)
人工智能·github
GoGeekBaird1 天前
别再给每个 AI 做自我介绍了:我做了一个「个人上下文」管理系统
后端·github·agent
莫晓燚1 天前
Ansible 13 个常用模块---企业实战
git·github
程序员柒叔1 天前
Diagram Design 解构:45 种图型如何用语义路由与 SVG 质量门交付
人工智能·github·agent·skills
逛逛GitHub1 天前
9 个神级 GitHub 项目助你蹭上抖音、小红书 Vibe 知识大赏热点。
github
m4Rk_1 天前
【论文阅读】Agent 记忆机制(119):EvoLife——让具身 Agent 把主动问到的答案沉淀为可复用的空间经验
论文阅读·人工智能·学习·开源·github