zoukankan      html  css  js  c++  java
  • 关于自动化部署平台的尝试

    • 前言

      参加过两次公司生产环境的版本更新,最近一次让我萌生了开发一个自动化部署平台的念头。虽然网上也有不少的自动化部署软件,但还是想自己动手写一个。一来是为了让平台更适应当前的实际情况,也利于以后自己对平台通用性的扩展;二来是为了锻炼自己,给自己的空闲时间找点事情做,不至于虚度时光。

      以下是整理出的初稿,想到的点比较简单,后面会持续完善。

      如果本文有幸被您看到,望能指点一二。

      不管是积极的还是消极的,请留下您的看法。

    • 背景

      程序开发好之后免不了部署。刚开始还好,手动打包、上传、部署,也不需要多长时间。但是随着规模的扩大,版本更新的频繁,以上看似简单的操作会变得越来越繁琐,耗时也会程直线上升。 手动部署的所有操作还不可重用,即每次操作都需要从头开始,浪费时间不说,不可靠和易出错也是显而易见的不足。
      因此,能有一套程序帮我们做这个事情势在必行。
      自动化部署平台的初衷是最大化的简化部署的步骤,做到“自动化”。而人工只需要做一些简单的配置即可。

    • 初步设计

      部署内容:
        1. Java WEB部署
        2. Java进程部署
      部署来源:
        1. 从版本服务器进行部署
        2. 程序包上传部署
      部署实现方式:
        1. linux下
          拟采用java+shell脚本实现
        2. windows下
          拟采用java+bat批处理脚本实现

    • 功能整理

      本自动化部署平台需包含一下功能
      最终目的:最大化实现只要是通过本平台进行部署的工程,都能通过平台管理其完整的生命过程。其中包括项目的创建,更新,删除,以及项目运行期间的各种日志的抓取和展示。达到部分运维的效果。
        a. 从版本服务器(svn/git)上获取最新代码
        b. 自动打包(jar、war)
        c. 支持程序包(jar、war)的上传
        d. 支持工程内部配置文件的修改
        e. 根据配置或者脚本自动部署
        f. 支持通过平台对部署的工程进行试运行,启用,停止等功能
        g. 部署过程中的日志显示
        h. 部署完后运行中的日志显示
        i. 设置权限系统,不同角色的用户登录平台拥有不同的操作权限
          a) 开发人员:
          b) 运维人员:
          c) 管理人员:
          d) 测试人员:
        j. 支持数据库的操作(备份/更新/创建/删除)

  • 相关阅读:
    Navicat Premium 12.1.12.0破解版激活
    vConsole调试器
    使用DbFunctions来解决asp.net mvc ef按照日期分组数据
    谷歌浏览器如何安装CRX插件?crx离线插件安装方法
    ASP.NET MVC——CodeFirst开发模式
    Sql server 事务的两种用法
    SQL Server 存储过程
    JqueryMobile新手问题大全
    .net core 轻量级容器 ServiceProvider 源码分析
    Centos7 使用Docker 部署mssql 2017
  • 原文地址:https://www.cnblogs.com/nickhan/p/6196034.html
Copyright © 2011-2022 走看看