• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

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

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

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

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

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

    1

    “臺風(fēng)”席卷西雅圖 

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

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

    Caicloud 作為國內(nèi)領(lǐng)先的容器集群服務(wù)解決方案供應(yīng)商,向用戶提供企業(yè)級的 Claas、Containerizor、Cyclone、Cargo、Cubernetes、Clever 六大閉環(huán)服務(wù)。

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

    所有編譯、構(gòu)建、測試、發(fā)布過程均以容器為載體,消除環(huán)境差異性。通過版本控制工具觸發(fā)流水線持續(xù)集成;

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

    管理組件支持微服務(wù)多組件聯(lián)合發(fā)布,使用圖形化界面展示組件的依賴關(guān)系及聯(lián)合發(fā)布的過程和狀態(tài),應(yīng)用拓撲關(guān)系圖形化;

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

    Cyclone 提供了豐富的 API 供 web 應(yīng)用調(diào)用,通過 API 建立版本控制系統(tǒng)中代碼庫與 Cyclone 服務(wù)關(guān)聯(lián)關(guān)系后,版本控制系統(tǒng)的提交、發(fā)布等動作會通過 webhook 通知到 Cyclone-Server,啟動一個基于 Docker in Docker 技術(shù)的 Cyclone-Worker 容器,在該容器中從代碼庫中拉取源碼,按照源碼中 caicloud.yml 配置文件,依次執(zhí)行:

    PreBuild:在指定編譯環(huán)境中編譯可執(zhí)行文件;

    Build:將可執(zhí)行文件拷到運行環(huán)境容器中,打成鏡像發(fā)布到鏡像倉庫中;

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

    PostBuild:啟動一個容器執(zhí)行一些腳本命令,實現(xiàn)鏡像發(fā)布后的一些關(guān)聯(lián)操作;

    Deploy:使用發(fā)布的鏡像部署應(yīng)用到 Kubernetes 等容器集群 PaaS 平臺。

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

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

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

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

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

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

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

    才云 Cyclone

    相關(guān)閱讀

    暫無數(shù)據(jù)

    一周熱門

    主站蜘蛛池模板: 国内精品久久久久久不卡影院| 老子影院午夜精品无码| 国产精品成人小电影在线观看| 久久99精品久久久久久hb无码 | 久久精品国产亚洲av麻豆色欲| 国产精品国产三级在线高清观看| 久久久无码精品亚洲日韩按摩| 免费精品精品国产欧美在线 | 中文字幕精品无码一区二区三区| 无码人妻精品一区二区三区99仓本 | 97精品人妻系列无码人妻| 亚洲日韩精品一区二区三区| 国产啪亚洲国产精品无码| 欧美精品一本久久男人的天堂 | 久久精品国产亚洲综合色| 国产精品看高国产精品不卡| 亚洲高清国产拍精品26U| 免费人成在线观看欧美精品| 国产亚洲精品精品国产亚洲综合| 久久99国产精品一区二区| 97精品人妻系列无码人妻| 国产精品亚洲а∨无码播放| 午夜天堂精品久久久久| 亚洲av永久无码精品国产精品 | 久久精品无码一区二区日韩AV| 国产精品女人呻吟在线观看| 91精品国产91久久| 色播精品免费小视频| 亚洲国产成人久久精品动漫| 欧美日韩精品一区二区在线播放| 国产原创精品视频| 久久国产乱子精品免费女| 国产精品久久久福利| 久久亚洲精品中文字幕三区| 久久精品国产秦先生| 一区二区三区四区精品视频| 91不卡在线精品国产| 国产精品亚洲不卡一区二区三区| 国产麻豆精品入口在线观看 | 国产亚洲精品不卡在线| 狠狠精品久久久无码中文字幕|