一 前期說明:
我運行項目的環境是nginx+php,存儲代碼用的是gitlab,
python版本:3.6 django版本:2.2.1 mysql版本:5.7
二 大體思路
1 需要知道主機的用戶名,密碼,端口號,
2 需要知道gitlab的用戶名和密碼
3 我準備把上面兩條的信息,存儲到當前登錄用戶的session中。
三實現功能
1 針對單個主機發布和回滾代碼
2 可以批量發佈和回滾代碼
3角色分爲管理員,開發,運維,測試,產品幾個角色,每個角色返回不同的頁面,利用rbac基於角色去實現不同的權限
4 管理員擁有所有權限,可以添加編輯,刪除所有的東西
5 分頁功能和快速搜索功能
6 當開發申請一個上線單,會郵件通知相關的運維和測試,以及項目負責人去審覈。
四效果展示
針對不同的用戶展示不同的頁面
1 登陸頁面展示
2 admin用戶展示頁面
3 運維展示頁面
4 開發展示頁面
5 測試展示頁面
6 產品展示頁面
發佈代碼
1 找到項目列表,添加你所需要的一個項目,包括倉庫地址,選擇這個項目要發佈到那臺主機上面
添加效果如下所示:
2 添加完成之後,點擊上線按鈕,如下所示,添加一個指定的分支,然後點擊獲取代碼,
3 拉完代碼之後,點擊發布代碼,在發佈代碼之前,我先去gitlab上面去編輯一個html文件
如下所示:裏面還包含了一張北魏時期的地圖,哈哈
然後我點發布,如下所示,選中你要發佈的主機
發佈成功效果,
去瀏覽器裏面驗證效果:
回滾代碼
還是找的項目列表,點擊回滾按鈕,如下所示:
回滾效果
代碼相關
代碼我放到了github上面 ,git clone -b deploy_7-4 https://github.com/huningfei/deploy.git 第一次寫還有很多不足,希望互相學習。