Travis CI是托管的连续集成和部署系统。现在,您可以在Travis-ci.com上测试和部署开源和私人项目!您可以在此处阅读有关此更改的更多信息。
我们正在搬到新的社区论坛:Travis CI社区!作为此举的一部分,我们将能够更好地遵循和回复线程,并使您更容易找到解决方案和答案。我们将尽最大努力回答当前现有线程,或将其引导到新的社区论坛。
链接到社区论坛:https://travis-ci.community
对于当前的中断和诸如慢网络连接之类的事件,请订阅https://www.traviscistatus.com。
其他支持问题可能会引导到[email protected],我们的支持团队将很乐意提供帮助。
该存储库包含Travis CI项目的中心问题跟踪器。
可以在https://docs.travis-ci.com上找到Travis CI项目的文档。
Travis CI由许多不同的子项目组成。主要的是:
Travis-Api是负责为我们的API服务的Sinatra应用程序。它响应不同的HTTP端点,并在Travis-Core中运行服务。这个存储库中的逻辑很少。
Travis-Build为每个作业创建构建脚本。它从.travis.yml
文件中获取配置,并创建一个bash
脚本,然后由travis-worker在构建环境中运行。该存储库还托管特定语言脚本的来源。
Travis-Cookbook拥有用于提供构建环境的厨师食谱。
Travis-Hub从其他应用程序收集事件,并通知其他有关这些事件的应用程序。例如,它通知Travis任务有关构建启动和完成的通知,因此可以发送通知。
Travis-Hub还负责创建已创建的作业并执行服务限制的质量,例如每个用户的并发构建数量。
每当推动提交或打开拉动请求时,Travis-Listener都会从GitHub接收通知。然后,将它们推到兔子上以进行其他应用程序进行处理。
Travis-Logs从Travis-Worker接收日志更新,将其保存到数据库中,并将其推到Web客户端。完成工作后,Travis-Logs负责将日志推向Amazon S3进行存档。
Travis-Support拥有不同Travis CI应用程序的共享逻辑。它与Travis-core不同,因为它拥有更多通用的东西,例如如何运行异步作业或如何处理异常。
Travis-Tasks从Travis-Hub接收通知,并根据需要将通知发送给不同的通知提供商。
Travis-Web是我们的主要网络客户端。它是使用Ember编写的,并与Travis-Api通信以获取信息,并通过Pusher从Travis-Hub和Travis-Logs获得实时更新。
Travis-Worker负责在干净的环境中运行构建脚本。它将日志输出流到travis-logs,并将状态更新(构建启动/完成)推向Travis-Hub。