Code Monkey home page Code Monkey logo

walle-web's Introduction

瓦力 - 部署系统

Build Status

Walle 一个web部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用!

支持git、svn版本管理,支持各种web代码发布,静态的HTML,动态PHP,需要编译的JAVA等。

官网主页了解更多。English Readme,喜欢请为我标star吧:)

  • 用户分身份注册、登录
  • 开发者发起上线任务申请、部署
  • 管理者审核上线任务
  • 支持多项目部署
  • 支持多项目多任务并行
  • 快速回滚
  • 项目的用户权限管理
  • 部署前准备任务pre-deploy(前置检查)
  • 代码检出后处理任务post-deploy(如vendor)
  • 同步后更新软链前置任务pre-release
  • 发布完毕后收尾任务post-release(如重启)
  • 执行sql构建(不要担心忘记测试环境sql同步)
  • 线上文件指纹确认
  • 支持git、svn版本管理

依赖

  • bash(git、ssh)
  • LNMP、LAMP(php5.4+)
  • composer

安装

git clone [email protected]:meolu/walle-web.git
cd walle-web
vi config/web.php # 设置mysql连接
composer install  # 如果缺少bower-asset的话, 先安装:composer global require "fxp/composer-asset-plugin:*"
./yii migrate/up  # 导入数据库
配置nginx/apache的webroot指向walle-web/web,简单范例详见页面底部常见问题和解决办法。

如有需要,移步最最最详细安装指南

快速开始

  • 注册一个管理员身份用户(已有admin/admin),配置一个项目,svn配置说明git配置说明
  • 开发者注册用户(已有demo/demo),提交上线单
  • 管理员审核上线单
  • 开发者发起上线

高级自定义

此时你可能考虑要作为一个公司内部新项目的试用版本,那么你将需要做以下的处理,更适合业务需求。

  • 配置允许注册的邮箱后缀

    vi config/params.php
    
    'mail-suffix'   => [  // 允许注册的邮箱后缀,一般为公司邮箱后缀,可多个
        'huamanshu.com',  // 如:只允许花满树邮箱注册
    ]
  • 配置企业邮箱smtp

    vi config/web.php +25
    
    # 配置mail smtp模块
    'class'      => 'Swift_SmtpTransport',
    'host'       => 'smtp.huamanshu.com',    # smtp 发件地址
    'username'   => '[email protected]', # smtp 发件用户名
    'password'   => 'password',              # smtp 发件人的密码
    'port'       => 25,                      # smtp 端口
    'encryption' => 'tls',                   # smtp 协议
    
    
    vi config/params.php
    
    'support.email' => '[email protected]', // 与config/web.php 中mail模块的username一致
  • 配置日志路径

    vi config/params.php
    
    'log.dir'   => '/tmp/walle/', # 注意读写权限

To Do List

  • Travis CI 集成
  • 静态资源管理器
  • 邮件提醒:可配置提醒事件
  • 灰度发布:指定机器发布
  • 引入websocket
  • 自定义公司logo
  • 自定义变量

持续更新开启更多功能

git pull
./yii migrate    # 更新数据库

截图

配置管理

提交上线任务

上线列表

宿主机、目标机群、操作用户关系

上线流程图

演示

CHANGELOG

瓦力的版本记录:CHANGELOG

交流讨论

walle-web's People

Contributors

meolu avatar filemist avatar itbeihe avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.