Travis CI 企业版
无论您的团队使用 GitHub Flow、功能分支还是直接提交到主分支,Travis CI 企业版都支持您的代码交付方式。Travis CI 与 GitHub 的集成让您的团队对每次更改都充满信心。
摘要:此页面将简要概述 Travis CI 企业版及其功能、基本用法、规模调整的经验法则以及必要基础设施的计算。
什么是 Travis CI 企业版 #
Travis CI 企业版是 Travis CI 的本地版本,您可以将其部署在您的基础设施中。可以将其视为 Travis CI 的“服务器”版本。使用 Travis CI,您可以在环境中轻松启用易于使用的持续集成/持续交付 (CI/CD) 系统,您可以根据需要对其进行配置和保护。
Travis CI 企业版使您能够为多个开发和测试团队以及作为您客户的组织的团队提供 CI/CD 服务。它包含与在线 Travis CI 版本几乎相同的功能。本地版本允许您根据其开源特性,对构建环境进行自己的自定义。
Travis CI 企业版构建为与 GitHub Enterprise 集成。使用 OAuth 进行身份验证,我们将同步用户的权限,以确保他们仅能访问您希望他们访问的存储库。这使您可以使用 LDAP 或 SAML 来管理用户的访问权限。Travis CI 企业版也与 GitHub.com 集成,使您可以更好地控制安全性和根据需要扩展构建基础设施。
为什么选择企业版而不是 travis-ci.com? #
Travis CI 企业版旨在将 托管平台 的功能引入不同的开发流程。因此,无论您是想使用您的服务器在本地运行 CI 构建还是在您的私有云中运行,企业版都能完美地融入您的团队工作流程。企业版特有的功能包括
- 支持 GitHub Enterprise:使用您的 GitHub Enterprise 安装作为 Travis CI 企业版身份验证和授权层,使您能够利用现有的 LDAP 或 SAML,无需任何额外配置。
- 支持多种版本控制系统:从 Travis CI 企业版 3.x 开始,您可以将不同的源代码管理解决方案与 Travis CI 结合使用。有关更多详细信息,请参阅 Travis CI 企业版 3.x 概述。
- 满足安全和法规要求:通过将您的服务器和主机部署在您的防火墙内,您可以完全拥有和控制您的数据,从而满足您公司的安全要求。
- 可自定义的镜像:我们提供一系列构建环境镜像,涵盖广泛的语言,并使用每个社区正在使用的最新依赖项进行更新。如果您或您的团队需要进行特定的更改,则可以轻松地进行自定义,然后可以将其部署供您的团队使用。
- 托管在您的基础设施上:Travis CI 企业版支持您选择的云或本地环境。这包括 AWS、Google Compute Engine、VMware、OpenStack 和 Azure。从 3.0 版开始,您可以在 Kubernetes 集群中部署它。
- 根据您的需求扩展:您的团队可以灵活地根据需要添加构建容量。如果在生产版本发布前的繁忙一周,只需启动更多容量,让您的团队尽情测试。
- 高可用性:您的持续集成系统与您的 GitHub Enterprise 一样重要。Travis CI 企业版可以在负载均衡器后面的多节点设置中运行,从而避免硬件故障。
Travis CI 企业版为您的 CI/CD 流程带来了灵活性,并使您的整个团队能够查看和控制构建流程。当然,如果任何人有任何疑问,我们的企业版特定支持团队随时为您提供帮助。
请阅读 Travis CI 企业版 3 概述 以了解更多详细信息。
试用和许可 #
您可以在 enterprise.travis-ci.com 获取免费试用许可证。您的试用许可证将包含所有功能,因此您可以全面了解企业版如何为您的团队工作。
如果您有兴趣开始使用,请告知我们 sales@travis-ci.com。我们很乐意了解 Travis CI 企业版如何最好地支持您的开发工作流程。或者,如果您想详细了解支持和入职事宜,请发送电子邮件至 enterprise@travis-ci.com。我们的团队期待您的来信!
先决条件 #
要开始使用 Travis CI 企业版,请确保您拥有
- 一个 GitHub.com 或 GitHub Enterprise Server 帐户。
- 托管在 GitHub 或 GitHub Enterprise Server (GHE) 上的基于 git 的项目的拥有者权限。
- 项目 GitHub 存储库根文件夹中的
.travis.yml
文件(注意前面的点!)。
与 Travis CI 非常相似,只需使用 GitHub(或 GitHub Enterprise)帐户登录 Travis CI 企业版并指定存储库,这些存储库将与 Travis CI 企业版集成即可。您还可以配置 Travis CI 企业版中存储库的详细信息,例如,应触发自动构建的分支提交。
之后,在已激活存储库中处理源代码的团队可以开始在 .travis.yml
文件中迁移或从头构建说明。这些说明构成了源代码的构建和测试方案。一旦说明完成并且更改已提交,Travis CI 将触发构建。每个构建可以包含一个或多个作业。作业可以并行运行或按预定义的顺序运行(甚至两者兼而有之!),这使得您可以为您的项目构建、测试和部署流程构建某种管道。
产品要求 #
Travis CI 企业版需要特定的基础设施才能进行部署。它目前与 GitHub.com 和 GitHub Enterprise 作为版本控制系统和外部身份提供程序。
Travis CI 企业版由两个主要部分组成: #
- TCI 服务(或 TCI 核心服务),负责与版本控制系统集成、授权构建、计划构建作业等。
- TCI 工作节点和构建环境镜像(也称为操作系统镜像)。
TCI 核心服务需要以下内容: #
- 一个 PostgreSQL11(或更高版本)数据库。
- 部署 Kubernetes 集群的基础设施;如果需要,它可以部署在服务器集群或单台机器上
- 根据您的设置,您可能需要自行部署和配置某些组件,例如 RabbitMQ - 有关更多详细信息,请参阅 设置 Travis CI 企业版。
TCI 工作节点需要以下内容: #
- 可以部署包含工作节点和链接构建镜像的 Docker 镜像的基础设施。
- 与某些 Travis CI 核心服务组件的连接 - 有关更多详细信息,请参阅 设置工作节点。
部署的 TCI 工作节点和构建环境操作系统镜像的数量将决定 Travis CI 企业版部署在您的基础设施中的总并发容量。
规模调整和计算 #
Travis CI 企业版是一个可扩展的解决方案。目前,它作为可在 Kubernetes 集群中部署的即用型解决方案分发。它可以从最小的部署基础设施和一个并发作业容量开始。但是,它可能会随着其利用率而增长(并且需要更多基础设施和/或更高级的环境配置)。
基本部署至少需要两台虚拟机作为主机(或一台更大的实例)。所需的并发性和并行运行的作业越多,您需要的 Worker 虚拟机就越多。确切的 vCPU 需求将取决于您的特定需求。但是,请将以下内容作为经验法则:
- TCI 核心服务至少需要 4 个 vCPU 和 8GB 内存。
- TCI 工作节点:每个构建作业环境至少需要 4 个 vCPU,最好是 8GB 内存(操作系统镜像和链接的工作节点),外加一些磁盘空间。
在某些时候,如果工作负载足够高,您可能需要增加 Travis CI 核心服务的资源。从 3.x 版本开始,Travis CI 企业版作为 Kubernetes 集群交付,因此可以轻松扩展(例如,通过添加更多 Docker Pod)确切需要扩展的部分。
数据库所需的资源完全取决于预期的工作负载。我们还建议提前规划您的数据保留策略(您愿意在数据库中保留数据多长时间),以根据需要保持成本和规模。作为经验法则,假设所有 TCI 核心服务都在“与”数据库通信,并且需要足够的计算能力和稳定的连接。数据库规模调整的粗略估计(使用非常密集的使用方式:每天 24/7 运行多个并发作业,并假设仅在数据库中保留每月日志,而较旧的日志导出到文件存储)可以假设每个用户每月 5 到 10MB。对于不太密集的使用情况,它会少得多;Travis CI 在其数据库中不存储任何镜像或大型二进制 Blob。
如果您计划实现保持数据库清洁,则可能需要考虑为部署提供特定的在线文件存储(如 S3 或 GFS)。Travis CI 有一组后台工具可以帮助您清理和备份构建日志以及您的场景中的构建数据。
详细的部署要求可以在“设置”和后续文档中找到。
开始使用 #
通过访问我们的 设置 页面来设置 Travis CI 企业版。
或者,如果您需要有关 Travis CI 的更多信息,请返回并查看我们的 核心概念 和 教程。
联系我们 #
要与我们联系,请发送邮件至 enterprise@travis-ci.com。如果可能,请尽可能包含以下内容
- 问题的描述 - 您观察到了什么?
- 您已经尝试了哪些步骤?
- 支持包(请参阅下表了解如何获取)
- 所有 worker 的日志文件(它们位于
/var/log/upstart/travis-worker.log
- 请尽可能多地提供)。 - 如果构建失败或出错,请提供构建日志的文本文件。
TCI Enterprise 版本 | 支持包 |
---|---|
3.x | 运行 kubectl kots admin-console -n [namespace] 以访问 https://127.0.0.1:8800 上的管理控制台。支持包生成说明可在“故障排除”菜单中找到,或直接访问: https://127.0.0.1:8800/app/tci-enterprise-kots/troubleshoot 选择后将出现生成支持包的命令。 如果您愿意,[点击此处]() 获取手动生成支持包的命令。 |
2.x+ | 您可以从 https://<your-travis-ci-enterprise-domain>:8800/support 获取。 |
自 2020 年第三季度宣布以来,Travis CI Enterprise 的最新版本是 3.x 系列。2.2 版本没有新的发布,并且自 2021 年 3 月以来支持补丁也受到限制。对于现有的 Travis CI 2.x 用户,我们强烈建议升级到最新的 Travis CI Enterprise 3.x。
您是否对您的设置进行了任何自定义?虽然我们可能能够看到一些信息(例如主机名、IaaS 提供商和许可证到期日期),但还有许多其他我们无法看到的内容,这可能导致某些功能无法正常工作。因此,我们想请您在您的支持请求中也回答以下问题(如果适用)。
- 您正在使用多少台机器/您的 Kubernetes 集群设置是什么?
- 您是否使用配置管理工具(Chef、Puppet)?
- 哪些其他服务与 Travis CI Enterprise 交互?
- 您与 Travis CI Enterprise 一起使用哪个版本控制系统 (VCS)(例如 github.com、GitHub Enterprise 或 BitBucket Cloud)?
- 如果您使用的是 GitHub Enterprise,哪个版本?
我们期待着帮助您!