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

相关推荐
wangruofeng8 小时前
20822 star 的开源录屏软件弃 Tauri 换 Electron:表层是换壳,里子是 46 个 Rust 模块
github·音视频开发
CAD老兵11 小时前
一行代码集成 DWG/DXF 图纸查看:测量批注,数据不出站
前端·javascript·github
Patrick_Wilson11 小时前
sccache 用在 Rust 上为什么常「不省编译」:原理、限制与 Windows 接入
ci/cd·rust·编译器
zh_xuan13 小时前
github搭建个人主页
html·github
fthux13 小时前
装闭 RenoPit 源码解析(10):AI如何审查装修合同与报价单
人工智能·ai·开源·github·open source·renopit
TunerT_TQ14 小时前
Google|LangExtract 源码静态评测:从 90 个 Python 文件看大模型结构化信息抽取工程基础
google·开源·github
Vuhao14 小时前
DeepSeek Harness:我 vibe coding 一个会陪你的桃濑日和
开源·github
Jay-r14 小时前
DeepSeek Harness 极简上手:装好、玩熟、让它自己长新能力
人工智能·windows·ai·github·ai编程·deepseek·harness
CAD老兵17 小时前
让 AI Coding Agent 直接访问 CAD 文档:GitMCP 实战指南
前端·人工智能·github
Revolution6118 小时前
DeepSeek Harness 最近上线:Everything is a Plugin 有什么特别之处
llm·github·deepseek