才云宣布開源CI/CD平臺Cyclone

    2016-11-15 17:28 來源:美通社 作者:sweet

    11月8-9日,全球 Kubernetes 大會 KubeCon 在美國西雅圖舉辦。KubeCon 是由 Linux Foundation/Cloud Native Computing Foundation 發起的 Kubernetes 最高盛會。

    才云 CEO 張鑫受到官方邀請在 KubeCon2016 大會上發表了關于 Kubernetes 在中國企業落地的主題演講并宣布開源Caicloud CI/CD 平臺 Cyclone,專注解決微服務架構下面向容器的 CI/CD 和版本管理問題。

    開源后,Cyclone 入選 GitHub  "Trending in Open Source",曾一度位居 Go 語言開源項目排行榜榜首。

    1

    “臺風”席卷西雅圖 

    持續集成 (CI) 是一種軟件開發實踐,即團隊成員經常集成他們的工作,每次集成都需要通過自動化的構建,包括編譯、發布、自動化測試來驗證,從而盡早的發現集成錯誤。持續交付 (CD) 是指頻繁地將軟件新版本交付給質量團隊(或者用戶)以供評審。如果評審通過,那么就發布到生產環境。每當代碼庫里有一個變化,如果能自動且隨時觸發以上過程,那就達成了持續發布 (CD) 。

    Docker 是一款基于 LXC 的容器引擎,自 2013 年開源以來,因為其易用性、高可移植性在開源社區非常火熱。Docker 將軟件與其依賴環境打包起來,以鏡像方式交付,讓軟件運行在“標準環境”中,這非常符合云計算的要求。各大 IT 巨頭紛紛跟進,基于 Docker 容器技術創業公司也如雨后春筍,Docker 創造了一個嶄新的容器云行業。Docker 技術應用廣泛。如,利用其隔離特性,為開發、測試提供一個輕量級獨立沙盒環境進行集成測試。加速本地開發和構建流程,使其更加高效輕量化,開發人員可以構建、運行并分享容器,輕松提交到測試環境中,并最終進入生產環境。

    Caicloud 作為國內領先的容器集群服務解決方案供應商,向用戶提供企業級的 Claas、Containerizor、Cyclone、Cargo、Cubernetes、Clever 六大閉環服務。

    Cyclone 作為其中重要一環,是基于 Docker 容器沙盒隔離特性實現的持續集成,將軟件與其依賴環境打包起來,以鏡像方式交付,讓軟件運行在“標準環境”中,原生支持多種容器云平臺持續交付的工具。具有以下特性:

    所有編譯、構建、測試、發布過程均以容器為載體,消除環境差異性。通過版本控制工具觸發流水線持續集成;

    生成容器鏡像并輸出安全報告,確保構建的鏡像安全可靠。全過程可視化,契合團隊協作,提高研發效率;

    管理組件支持微服務多組件聯合發布,使用圖形化界面展示組件的依賴關系及聯合發布的過程和狀態,應用拓撲關系圖形化;

    基于發布策略和角色控制功能,提供靈活的持續部署方式。基于容器和鏡像的版本控制,提供多種升級回滾策略。

    Cyclone 提供了豐富的 API 供 web 應用調用,通過 API 建立版本控制系統中代碼庫與 Cyclone 服務關聯關系后,版本控制系統的提交、發布等動作會通過 webhook 通知到 Cyclone-Server,啟動一個基于 Docker in Docker 技術的 Cyclone-Worker 容器,在該容器中從代碼庫中拉取源碼,按照源碼中 caicloud.yml 配置文件,依次執行:

    PreBuild:在指定編譯環境中編譯可執行文件;

    Build:將可執行文件拷到運行環境容器中,打成鏡像發布到鏡像倉庫中;

    Integretion:使用 Build 階段構建的鏡像啟動一個容器,啟動持續集成所依賴的微服務容器進行集成測試;

    PostBuild:啟動一個容器執行一些腳本命令,實現鏡像發布后的一些關聯操作;

    Deploy:使用發布的鏡像部署應用到 Kubernetes 等容器集群 PaaS 平臺。

    構建過程日志可以通過 Websocket 從 Cyclone-Server 拉取;構建結束后 Cyclone-Server 將構建結果和完整構建日志通過郵件通知用戶。

    Cyclone-Server 中 Api-Server 組件提供 Restful API 服務,被調用后需要較長時間處理的任務生成一個待處理事件寫入 etcd

    EventManager 加載 etcd 中未完成事件,監視事件變化,發送新增待處理事件到 WorkerManager 中;

    WorkerManager 調用 Docker API 啟一個 Cyclone-Worker 容器,通過環境變量傳入需要處理的事件 ID 等信息;

    Cyclone-Worker 使用事件 ID 作為 token(有效期 2 小時)調用 API,拉取事件信息依次啟容器執行 integration、prebuild、build、post build,完成后反饋事件執行結果,構建過程日志推送到 Log-Server,轉存到 Kafka;

    Log-Server 組件從 Kafka 拉取日志推送給用戶;需要持久化的數據存入 Mongo。

    yclone 也可以多節點分布式部署,部署圖如下所示。每一個立方體代表一個節點,使用 Haproxy 反向代理實現負載均衡和 SSL 數據加密,分發 API 請求到各 Cyclone 節點中。

    才云 Cyclone

    相關閱讀

    暫無數據

    一周熱門

    亚洲免费综合色在线视频| 亚洲国产亚洲片在线观看播放| 国产成人精品亚洲2020| 噜噜噜亚洲色成人网站∨| 亚洲AV午夜福利精品一区二区| 在线观看亚洲av每日更新| 亚洲午夜成人精品电影在线观看| 国产偷国产偷亚洲高清在线| 欧美日韩亚洲精品| 色偷偷噜噜噜亚洲男人| 亚洲AV无码XXX麻豆艾秋| 亚洲成a人片在线观看天堂无码 | 亚洲国产91在线| 67194在线午夜亚洲| 亚洲 欧洲 日韩 综合在线| 国产91在线|亚洲| 亚洲国产精品日韩av不卡在线| 亚洲日韩久久综合中文字幕| 亚洲日本VA午夜在线影院| 亚洲Av永久无码精品一区二区| 337P日本欧洲亚洲大胆艺术图 | 亚洲砖码砖专无区2023| 亚洲国产欧美国产综合一区| 鲁死你资源站亚洲av| 亚洲AV无码不卡在线观看下载 | 无码欧精品亚洲日韩一区夜夜嗨| 亚洲AV无码AV吞精久久| 亚洲高清最新av网站| 久久久久无码专区亚洲av| 国产精品久久久亚洲| 亚洲尹人九九大色香蕉网站| 亚洲日韩中文字幕| 亚洲人成图片网站| 看亚洲a级一级毛片| 亚洲精品在线视频| 亚洲国产精彩中文乱码AV| 麻豆亚洲AV永久无码精品久久| 亚洲国产成人va在线观看网址| 亚洲中文字幕乱码一区| 麻豆亚洲AV成人无码久久精品 | 亚洲熟妇无码久久精品|