通过 TeamCity 和 Kubernetes 集成扩缩您的自动化构建

将 TeamCity 构建代理部署到 Kubernetes 集群,在云端或裸机中实现稳健且可扩缩的 CI/CD 解决方案。

适用于 Kubernetes 的 TeamCity 持续集成和持续交付管道

有了 Kubernetes,团队无需再使用和依赖裸机服务器。借助 Kubernetes,用户可以获得一致、持续的服务:IT 团队可以随时停用任何服务器,将其下线维护,然后再将其上线。

Kubernetes 还支持在同一台服务器上启动多个任务,从而实现资源优化。

借助 TeamCity 与 Kubernetes 的集成,在资源争用情况增多时,运营团队无需在过度配置和降低服务器可用性之间做出选择。

选择您的 TeamCity 形式:

将 TeamCity 与 Kubernetes 集群集成

得益于 Kubernetes 支持插件,TeamCity 可以在 Kubernetes 集群中运行构建代理。该插件与 TeamCity 捆绑,因此无需单独下载或安装。

  • 在 Kubernetes 上实现可扩缩的 CI/CD 架构。当您需要构建代理时,构建代理可以自动启动,执行其作业,并在构建完成后移除。TeamCity 将在分发构建队列时按需启动安装了 TeamCity 代理的容器。
  • 原生 Docker 支持。借助 TeamCity,您可以为任意规模和复杂程度的项目自动执行 CI/CD,同时为管道的每个步骤使用 Docker
  • 在隔离环境中运行每个构建,方法是为每个项目设置自己的云配置文件,而这些配置文件均指向自己的 Kubernetes 集群。
  • 利用云托管基础架构的弹性,同时充分利用 Kubernetes 的智能资源分配和弹性设计。
  • 借助 Kubernetes pod 运行并行化任务。系统会尽可能高效地将 pod 分配给云托管机器,从而最大限度地提高任务并行运行的潜力。任务完成后,用于该任务的 pod 会被终止以释放资源,或根据设置继续运行。

通过 Kubernetes 改进部署管理

TeamCity 提供了对 Docker 的原生支持,可以实现完全容器化的持续集成和部署流程。

容器镜像

使用 Docker 构建运行程序创建新的容器镜像并将其发布到容器注册表,以准备部署到 Kubernetes 托管的预生产环境。

配置测试和暂存环境

配置与生产紧密匹配的测试和暂存环境,并让 Kubernetes 推出已准备好进行自动化集成和端到端测试以及手动验证的最新构建。

详细报告

TeamCity 提供详细的自动化测试报告,其中的结果为实时报告,并附有相关日志和堆栈跟踪的链接,以便您立即调查故障原因。

用于镜像实际环境的 Helm 构建运行程序

使用 Helm 构建运行程序(以插件形式提供)配置 Kubernetes 工作负荷,并确保预生产部署镜像您的实际环境。

开始使用 Kubernetes CI/CD

对于完全可扩缩、弹性极高的持续集成和部署管道,配置 Kubernetes 集群来处理 CI 构建作业,并将容器化应用程序部署到准确复制您的生产系统的 Kubernetes 托管测试和暂存环境。

要配置 TeamCity 使用 Kubernetes 集群资源,请执行以下操作:

  • 设置 Kubernetes 集群来托管您的 TeamCity 构建代理。选择使用 Google Cloud 的 GKE 或 Amazon EKS 等 Kubernetes 托管服务,或者自行在云端或裸机服务器上托管 Kubernetes。
  • 要在同一集群上同时托管构建作业和测试环境,请在 Kubernetes 中配置专用的命名空间。
  • 向 TeamCity 授予对您的集群的相关写入权限
  • 在 TeamCity 中,配置 Kubernetes 云配置文件,并指定云代理设置。要设置每个 TeamCity 构建代理实例可用的计算资源的限制或配置重新启动策略,请使用自定义 pod 模板。
  • 将 TeamCity 配置为使用云代理完成构建作业。

常见问题解答

TeamCity 和 Kubernetes 集成如何运作?

每次将新作业添加到构建队列时,TeamCity 都会识别兼容的构建代理镜像,然后将请求传递给 Kubernetes。容器编排工具会确定包含正确的构建代理的现有 pod,或启动新 pod 来满足需求。多个容器化构建作业可以在同一虚拟机上运行,不存在任何干扰风险。

如何开始使用 Kubernetes 和 TeamCity?

借助 TeamCity 对 Kubernetes 的支持,您可以将高度可扩缩的弹性基础架构的全部优势用于构建作业和自动化测试。请参阅我们的 CI/CD 指南详细了解 CI/CD 的优势CI/CD 管道的用途,以及构建云托管 CI/CD 管道的考量因素。

准备好开始了吗?将 TeamCity 与您的 Kubernetes 集群集成,并在 Kubernetes 持续集成和部署管道中运行您的第一个构建。

开始使用 TeamCity

适用于使用 Kubernetes 的团队的强大 CI/CD