運維自動化--代碼發佈平臺

   隨着業務線和項目增長,使用rsync 命令方式發佈代碼已經沒法知足需求。因此想搞一套代碼發佈平臺。前端


【需求收集】sql

  1.年前開發了一個版本,當時只是和前端PHP團隊溝經過。開發完發現後端需求和前端的需求有出入。因此這個版本給廢掉了。數據庫

     2.春節後,跟各業務線Leader從新溝通了一下需求,準備從新開發。後端


【開發架構】服務器

  1.前端設計:架構

         頁面使用Bootstrap、CSS和Jquery。
數據庫設計

      2.數據庫設計:ide

        數據庫使用Mysql。
測試

      3.後端開發語言:spa

        比較熟悉Django,因此使用Django開發。


【功能設計】

  1.系統設置:

        系統設置主要包括:組管理、用戶管理、項目管理等。用戶登入及權限管理,經過調用SSO API進行管理。


    2.代碼管理:

        代碼管理主要包括:PULL代碼、PUSH 代碼、CHECK代碼、POST代碼和       ROLLBACK。

         PULL代碼:

              經過平臺將測試完成的Code,PULL到Online 代碼倉庫,壓縮並生成MD5校驗。

         PUSH代碼:

               首先選擇發佈項目、線上服務器、版本信息等。而後經過平臺PUSH到線上服務器指定目錄。      

         CHECK代碼:

              校驗Online服務器代碼MD5值是否和代碼倉庫代碼MD5值相同。若是相同進入下一步。

         POST代碼:

              若是驗證經過,線上服務器代碼路徑軟鏈到項目根目錄,而後Reload服務。

         ROLLBACK:

             線上服務器會保留5份代碼,當新上線的代碼出現問題,能夠經過ROLLBACK進行回滾到指定版本。


     3.項目管理:

          主要管理各項目、組和線上服務器對應關係以及訪問權限。


【代碼流程圖】

    wKioL1T_lSSgygDiAACbBQmV9pY336.jpg


【頁面展現】

   wKioL1T_ltmzy8KiAAMIBZ3m2Nc768.jpg    


wKioL1T_l6yC9KW8AAO0R8xkj5g726.jpg


【總結】

     如今V1版本已經上線,後期會根據新的需求進行修改。

相關文章
相關標籤/搜索