專案簡介:
專案主要使用docker的方式一鍵部署各類應用及工具。目前已經有7個大類,幾十種工具實現一鍵部署。並且根據個人實際情況進行自定義部署。
kkitdeploy是波哥抽離了kkit3.0的乙個功能模組開源給大家。
該專案沒借助傳統的ansible、saltstack或者clustershell來二次開發。ansible是kkit3.0和遠端動作核心驅動,saltstack在kkit1.0的核心驅動(kkit1.0已經被我開源至github).
通過整合了上述兩個工具後發現了不少缺點,所以在設計kkitdeploy的時候就自己寫了個驅動來完成所有的動作。
專案架構及開發語言(以後補圖):
專案採用前後端分離設計,主要由vue前端+django後台+shell指令碼驅動三大塊組成:
由於專案的特殊行,採用了redis作為該項目的核心儲存。其中websocket為專案的核心資料傳遞方式。整體頁面簡潔,操作簡單。
專案使用手冊:
專案整體布局分兩大塊:
左邊為選單欄,右邊為資訊欄。
選單欄供我們選擇要部署的類別,工具,及工具的版本和集群方式(以k8s為例)
當我們選擇完畢想要部署的專案後右側資訊欄會自動出現相應的配置引數。根據實際情況按照我所列舉的格式進行配置後點選提交後台開始自動部署。並且將實時反饋後台執行日誌(如下圖)
部署進行時不可以重新整理頁面或者關閉頁面。後台部署完畢會在右側資訊欄底部有相應的提示。
對於yml描述性檔案部署的方式是另一種模式,例如我們部署nginx
這一步修改的資訊是我們要部署到**去。修改完資訊後點選提交。
這一步是要我們修改yml檔案,你要部署乙個什麼樣的nginx。這個檔案就是yml檔案
而針對nginx的特殊性我們要配置各種後端的重定向業務,所以我們這裡在部署nginx之前勾選配置再選擇提交按鈕:
可以上傳不同的base.conf,而我們注意到上面nginx的yml配置引數裡面的這一項
你所上傳的所有配置檔案都會上傳至conf目錄,所以在對映關係上必須要這麼寫,否則找不到。
讓我們自定義完自己的外掛程式過後點選上傳
將外掛程式指令碼資料夾rar壓縮後,上傳rar包。
點選確定後就可以在自定義選項卡中找到您上傳的外掛程式
相關配置引數也自動上傳到伺服器
然後的部署流程就和之前一樣了。
ps:請自定義的外掛程式名稱不要使用原名稱,例如nginx,redis。這樣會覆蓋我的原有指令碼,而為了防止指令碼出錯更改不及時,波哥設計了每週都會同步雲端的指令碼script指令碼,所以每次更新完畢之後都會覆蓋回來。
請自定義指令碼的同學加上個性化設計例如:mynginx等等。
那麼如何部署我們的kkitdeploy呢?
3# 修改base.config裡面的引數
4 ./kkitdeploy.sh
部署完畢訪問伺服器ip即可,預設是80埠,登入認證設計的是假認證,直接點選登入即可。
重啟專案:
1你們的支援就是波哥的動力,請幫忙**和start哦!# 關閉
2 docker-compose -f *.yml down -v
3# 啟動
4 docker-compose -f *.yml up -d
kkitDeploy一鍵部署openldap
有朋友反饋說kkitdeploy在開始剛開始啟動的時候會出現下拉列表沒有選項及內容,這是因為後台在更新雲端的指令碼到你本地。如果你重新整理頁面它就會不更新了。如下圖 波哥建議各位不要著急重新整理頁面,等一會他更新完了就會自動出內容,這樣你的kkitdeploy就有最新的指令碼集了 如果5分鐘還沒有出...
持續整合及部署利器 Go
go是一款先進的持續整合和發布管理系統,由thoughtworks開發。不要和google的程式語言go混淆了!其前身為cruise,是thoughtworks在做諮詢和交付交付專案時自己開發的一款開源的持續整合工具。後來隨著持續整合及持續部署的火熱,thoughtworks專門成立了乙個專案組,基...
持續整合及部署利器 Go
go是一款先進的持續整合和發布管理系統,由thoughtworks開發。不要和google的程式語言go混淆了!其前身為cruise,是thoughtworks在做諮詢和交付交付專案時自己開發的一款開源的持續整合工具。後來隨著持續整合及持續部署的火熱,thoughtworks專門成立了乙個專案組,基...