随着业务线和项目增加,使用rsync 命令方式发布代码已经无法满足需求。所以想搞一套代码发布平台。


【需求收集】

  1.年前开发了一个版本,当时只是和前端PHP团队沟通过。开发完发现后端需求和前端的需求有出入。所以这个版本给废掉了。

     2.春节后,跟各业务线Leader重新沟通了一下需求,准备重新开发。


【开发架构】

  1.前端设计:

         页面使用Bootstrap、CSS和Jquery。

      2.数据库设计:

        数据库使用Mysql。

      3.后端开发语言:

        比较熟悉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.项目管理:

          主要管理各项目、组和线上服务器对应关系以及访问权限。


【代码流程图】

    运维自动化--代码发布平台_第1张图片


【页面展示】

   运维自动化--代码发布平台_第2张图片    


运维自动化--代码发布平台_第3张图片


【总结】

     现在V1版本已经上线,后期会根据新的需求进行修改。