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

相关推荐
岁月无声code1 分钟前
Spring Boot 牛刀小试 org.springframework.boot:spring-boot-maven-plugin:找不到类错误
java·spring boot·github
油泼辣子多加2 小时前
2024年11月14日Github流行趋势
github
罗克米3 小时前
通过脚本,发起分支合并请求和打tag
github
喔喔咿哈哈4 小时前
【手撕 Spring】 -- Bean 的创建以及获取
java·后端·spring·面试·开源·github
zzxxlty5 小时前
MacOS 本地生成SSH key并关联Github
macos·ssh·github
曼陀罗5 小时前
【github】PR 的一些实用操作
github
aPurpleBerry13 小时前
【问题解决】Github上手动Delete file之后, git remote add+git push出错
git·github
MarcoAI13 小时前
github SSH连接(windows)
windows·ssh·github
KuaFuAI14 小时前
微软推出的AI无代码编程微应用平台GitHub Spark和国产AI原生无代码工具CodeFlying比到底咋样?
人工智能·github·aigc·ai编程·codeflying·github spark·自然语言开发软件
Mr_Xuhhh16 小时前
递归搜索与回溯算法
c语言·开发语言·c++·算法·github