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。