版本控制是任何 CI/CD 管道的核心,因此,TeamCity 原生可与所有领先的版本控制系统以及其他多种版本控制系统集成。无论您的代码是存储在 Git、Mercurial、Perforce、Subversion、Team Foundation (TFVC) 还是版本控制系统的任意组合中,您都可以使用 TeamCity 创建灵活、强大的工作流,自动构建、测试和部署您的软件。
您的代码是位于单仓库中,还是分布在多种不同类型的版本控制系统中?您的仓库是托管在云端还是所有内容均保存在内部?无论您使用哪种本地和托管的 VCS 系统,TeamCity 都可以高效地构建您的应用。
TeamCity 支持所有想象得到的开发工作流,您可以在需要时准确地构建所需内容。您可以构建每个拉取请求,在有人将管道提交至特定分支时运行管道,在特定用户更改特定目录中的文件时触发构建,等等。
您是否曾希望在 CI 系统中测试新代码但不想提交代码、自动合并获得通过的拉取请求,或者标记属于您的应用发布版本的 Git 提交?别再自行编写脚本来自动执行 VCS 相关的例程了,因为 TeamCity 支持所有这些场景,而且开箱即用!
TeamCity 可与现代软件开发中使用的所有主要版本控制系统和 VCS 托管服务集成。
TeamCity 提供了一种使用所有类型的仓库和代码存储服务的通用方式,从而让您专注于创建出色的应用,不必理解每个特定服务的详细信息。
在 TeamCity Cloud 与 TeamCity On-Premises 之间进行选择:
我们经常会将存储在多个版本控制系统中的代码组合在一起,这并不罕见。或许您正在使用遗留的代码库,系统的不同部分受益于不同的源代码控制功能,或者您正在从一个 VCS 迁移到另一个 VCS。无论何种原因,TeamCity 都可以从多个版本控制系统的任意数量的仓库中获取源代码,并创建单个构建。
大多数 CI/CD 管道在标记候选版本之前会经历许多阶段,这包括对开发者的个人分支的初步检查,以及在合并到 main 分支时的一整套回归测试。
借助 TeamCity,您可以在一个项目中使用不同的触发器配置多个构建链。根据提交作者、分支名称、拉取请求或更改的文件等定义触发器来控制构建资源的使用方式,或者使用提交挂钩来监控仓库更改。
为了获得最佳开发者体验,可以将 TeamCity 配置为在后台无缝运行,监控仓库中的更改、触发构建并在 VCS 托管系统环境中报告结果。使用提交状态发布器实时报告构建进度,并直接从 GitHub、GitLab、Bitbucket 或 Azure DevOps 中查看构建和测试结果。
如果您使用 Git 或 Mercurial 对功能分支进行更改,那么自动合并将会为您带来诸多益处。通过定期从 main 分支合并更改,可以持续更新功能分支,最大程度减少冲突。在更改准备就绪后,将根据定义的条件(例如成功构建),自动将更改从功能分支合并到 main 分支。
无论您是调试失败的测试还是更新发布说明,查看提交消息中所引用问题的详细信息都至关重要。TeamCity 能够与 VCS 托管平台提供的问题跟踪器和独立的问题管理工具集成,可以在 TeamCity 用户界面中提供包含上下文的问题信息,并将问题 ID 转换为直接链接。
为作业使用正确的工具应当不会产生管理开销。TeamCity 支持通过您的 VCS 托管服务利用单点登录验证用户的身份,为用户提供无缝体验,同时简化管理员的 IT 任务。
您是否已准备好采用一种能够在整个开发工作流中降低复杂性、提高一致性的 CI/CD 解决方案?立即下载TeamCity On-Premises 或注册 TeamCity Cloud 的免费试用!
软件开发工作流就像构建它们的人员一样,多种多样。单仓库和多仓库;功能分支、发布分支或拉取请求;位于不同地理和监管区域的云托管服务器和本地部署服务器;串联或并行运行的测试套件;云托管平台的轮询限制和访问约束… 不胜枚举。无论您遵循哪种流程、使用哪个平台,借助 TeamCity 的直观用户界面,您都可以构建满足您的需求的 CI/CD 管道,同时将您的配置保存为代码。
TeamCity 可以构建项目,将其源代码存储在 Git、Perforce、Mercurial、SVN 和其他仓库中,包括云托管解决方案。
TeamCity 支持 GitHub、GitLab、Azure DevOps 和 Bitbucket Server 中的拉取请求与合并请求。它还具有 Perforce 搁置触发器,可以处理 Perforce 更改列表中搁置文件的更改。
包括免费的自托管版本在内,所有版本的 TeamCity 都可以使用全部 VCS 集成。TeamCity Cloud 提供 14 天免费试用期。
TeamCity 拥有适用于基于 IntelliJ 的 IDE 和 Visual Studio 的 IDE 插件,借助这些插件,您可以构建代码而不提交。这对于在一个分支中完成整个开发流程的情况尤其有用,例如,游戏开发往往就属于这种情况。