Yahoo!Screwdriver:可擴充套件的持續整合工具
Yahoo! 開源了他們在內部生產系統中使用的持續交付工具Screwdriver。
Screwdriver作為一種持續交付工具,整合了從程式碼提交到生產系統部署的所有步驟。Yahoo!在過去五年中逐步使用Screwdriver去自動化所有的交付過程,現可達到每日超過25,000次的構建和多於12,000次的git提交。按Yahoo!的說法,他們所希望的持續整合工具應具備以下特性:
使得開發人員易於建立部署流水線。流水線採用YAML檔案定義,並可通過放棄變更或者使用另一版本配置檔案將流水線還原回早期的版本。 主幹開發的優化。主幹中應包括應用的可交付版本。為確保被拉取的程式碼在提交前已得到測試,測試是自動執行的。 支援回滾。任何具有寫許可權的人可在發生錯誤時回滾部署。
Screwdriver具有五個主要元件:
REST API:與流水線協同工作的介面。
Web UI:用於流水線API的視覺化介面。
啟動器(Launcher):設定環境並執行Shell命令的工具。
執行引擎(Execution Engine):可插拔的構建執行器,支援在容器(Jenkins、Kubernetes、Mesos、Docker Swarm)內執行命令。
資料儲存(Datastore):可插拔的NoSQL儲存,用於維護流水線配置資料(DynamoDB、MongoDB、CouchDB、Postgres)。執行引擎和資料儲存都使用了可插拔的架構,使得使用者可按自身意向選用引擎。
現在Yahoo!已開源了該持續整合工具的一個精簡版本,並有計劃在未來的一個月內新增上一些未釋出的元件,其中包括:儲存可供後續使用的後設資料、採集指標、分析日誌,以及用於設定和執行流水線的模板。
本文轉自d1net(轉載)
相關文章
- Jenkins2.65釋出,可擴充套件的持續整合引擎Jenkins套件
- 整合持續整合工具
- 擴充套件工具套件
- (持續更新) 常用 Laravel 開發的 Composer 擴充套件包Laravel套件
- 可擴充套件性套件
- 可擴充套件的搜尋元件套件元件
- 設計師對可擴充套件設計工具的探索套件
- discuz擴充套件工具集合套件
- 編寫可擴充套件程式套件
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- Hudson:持續整合工具的安裝、使用
- 可擴充套件性筆記一套件筆記
- LLM 擴充套件開發工具套件
- ETL的可擴充套件性和可維護性套件
- 實用的可選項(Optional)擴充套件套件
- dubbo是如何實現可擴充套件的?套件
- PHP的LZF壓縮擴充套件工具PHP套件
- 持續整合、持續部署、持續交付、持續釋出
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 持續整合、持續交付、持續部署簡介
- Java-IoUtil擴充套件工具類Java套件
- 亞馬遜雲科技與英偉達擴充套件合作 持續推進生成式AI創新亞馬遜套件AI
- 可擴充套件的使用者表設計套件
- dubbo是如何實現可擴充套件的?(二)套件
- 構建可擴充套件的有態服務套件
- 構建可擴充套件的應用(一) (轉)套件
- Laravel 推薦好用擴充套件包整合版Laravel套件
- 使用Jenkins可持續整合maven專案JenkinsMaven
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 持續整合工具TeamCity快速入門
- 使用開源工具進行持續整合開源工具
- 讀構建可擴充套件分散式系統:方法與實踐15可擴充套件系統的基本要素套件分散式
- 可擴充套件的TextView,ExpandableTextView與Scroller類的使用套件TextView
- 「翻譯」SAP MII(SAP製造整合和智慧)-靈活且可擴充套件套件
- QueryList 4.0 簡潔、優雅、可擴充套件的PHP採集工具(爬蟲)套件PHP爬蟲
- WCF擴充套件:行為擴充套件Behavior Extension套件
- 持續整合工具CC的一些經驗
- 擴充套件.Django-許可權系統套件Django