本指南将介绍如何使用 TeamCity 构建 Java 和 Maven 项目,适合完全没有接触过 TeamCity 的开发者。
前提
我们建议您对 Java 和 Maven 框架有基本的了解。 For more information, see the Getting Started with Maven guide in the Maven documentation.
如果 TeamCity 成功连接到您的仓库,您将看到以下对话框。
在 Create Project From URL 对话框中,您可以选择更改项目名称和初始构建配置名称。
注意:在较新版本的 TeamCity 中,您还将看到 Default branch 和 Branch specification 字段,用于指定 TeamCity 应构建的分支。 这可暂时忽略。
点击 Proceed 后,TeamCity 会自动扫描您为支持的技术(在本例中为 Java 和 Maven)使用的版本控制仓库。
如果 TeamCity 在您的仓库中检测到 pom.xml 文件,它将自动为您的项目建议构建步骤,包括编译您的 Maven 项目并通过执行 mvn clean test
运行其测试。
构建步骤不应与构建配置混淆。 构建配置可能包含许多构建步骤。
现在,您已经成功使用 TeamCity 配置您的 Maven 仓库:
现在,您的 Maven 仓库已连接到 TeamCity,您可以继续开发并将代码推送到您的仓库。
默认情况下,TeamCity 每隔 60 秒轮询一次 VCS 仓库的主分支以获取传入更改,并为所有检测到的提交触发一个(组合)构建。
如果您想让仓库中任意分支的每次更改(而不仅仅是主分支)都触发构建,应将通配符分支规范添加到您的 VCS 根设置。 请注意,VCS 设置属于 TeamCity 项目,而不属于单个构建配置。 因此,您所做的任何更改都将应用于使用相同 VCS 根的所有构建配置。
示例分支规范:
+:refs/heads/*
– TeamCity 将检查项目所有分支中的更改,但不会检查 GitHub 等平台上的 Pull Request,因为其与 refs/pull/*
匹配。 +:*
– TeamCity 将检查任何分支上的任何传入更改。 TeamCity 现在将监控所有符合您的分支规范并推送到您的仓库的分支,检查传入的更改,并相应地运行构建。
如果您希望 TeamCity 针对您的仓库自动构建 Pull Request,可以将 Pull Request 构建功能添加到您的构建配置。
注意:Pull Request 构建功能会透明地扩展分支规范(更多信息见上一步)。 例如,对于 GitHub,Pull Request 功能将(不可见地)把 +:refs/pull/*
添加到您的分支规范。
我们建议在使用 Pull Request 功能时,确保 Pull Request 分支不在您的通用分支规范内,否则 Pull Request 相关功能在 TeamCity 中将不可用。
TeamCity 现在将检查外部平台的 Pull Request,并为符合您的配置规则的请求触发构建。
注意:如果在公共仓库上,您应谨慎使用此功能,因为任何人都可能将有害代码推送到仓库(您显然不想构建这样的代码)。
When using the pull requests feature in combination with Azure DevOps, Bitbucket Server, GitHub, or GitLab, it also makes sense to use the Commit Status Publisher build feature. 此功能将在相应平台上以构建结果更新 Pull Request 的状态。
要将 TeamCity 设置为向 GitHub 报告构建结果,您需要执行以下步骤:
TeamCity 运行构建后,您可以直接从 GitHub 的 Pull Request 标签页(绿色复选标记)轻松查看更改是否导致构建失败。 会包含一个返回您的 TeamCity 服务器的链接,方便您浏览测试结果。