/walle-web

A Web Deployment Tool (web代码部署工具)

Primary LanguageHTMLApache License 2.0Apache-2.0

Walle - A Deployment Tool

Build Status Packagist Yii2

A web deployment tool, Easy for configuration, Fully functional, Smooth interface, Out of the box. support git/svn Version control system, no matter what language you are, php/java/ruby/python, just as jenkins. you can deploy the code or output to multiple servers easily by walle.

Home Page | 官方主页 | 中文说明 | 文档手册.

Now, there are more than hundreds of companies hosted walle for deployment, star walle if you like : )

  • Support git/svn Version control system.
  • User signup by admin/develop identity.
  • Developer submit a task, deploy task.
  • Admin audit task.
  • Multiple project.
  • Multiple Task Parallel.
  • Quick rollback.
  • Group relation of project.
  • Task of pre-deploy(e.g: test ENV var).
  • Task of post-deploy(e.g: mvn/ant, composer install for vendor).
  • Task of pre-release(e.g: stop service).
  • Task of post-release(e.g: restart service).
  • Check up file md5.
  • Multi-process multi-server file transfer (Ansible).

Requirements

  • Bash(git、ssh)
  • LNMP/LAMP(php5.4+)
  • Composer
  • Ansible(Optional)

That's all. It's base package of PHP environment!

Installation

git clone git@github.com:meolu/walle-web.git
cd walle-web
vi config/local.php # set up module db mysql connection info
composer install  # error cause by bower-asset, install:composer global require "fxp/composer-asset-plugin:*"
./yii walle/setup # init walle

Or The Most Detailed Installation Guide, any questions refer to FAQ

Quick Start

  • Signup a admin user(admin/admin exists), then configure a project, add member to the project, detect it.
  • Signup a develop user(demo/demo exists), submit a deployment.
  • Project admin audit the deployment.
  • Developer deploy the deployment.

Custom

you would like to adjust some params to make walle suited for your company.

  • Set suffix of email while signing in

    vi config/params.php
    
    'mail-suffix'   => [  // specify the suffix of email, multiple suffixes are allow.
        'huamanshu.com',  // e.g: allow xyz@huamanshu.com only
    ]
  • Configure email smtp

    vi config/local.php
    
    'transport' => [
            'host'       => 'smtp.huamanshu.com',
            'username'   => 'service@huamanshu.com',
            'password'   => 'K84erUuxg1bHqrfD',
            'port'       => 25,
            'encryption' => 'tls',
        ],
        'messageConfig' => [
            'charset' => 'UTF-8',
            'from'    => ['service@huamanshu.com' => '花满树出品'], 
        ],
  • Configure the path for log

    vi config/params.php
    
    'log.dir'   => '/tmp/walle/',
  • Configure language

    vi config/local.php
    
    'language'   => 'en',  // zh-CN => 中文,  en => English

To Do List

  • Travis CI integration
  • Mail events:specify kinds of events
  • Gray released:specify servers
  • Websocket instead of poll
  • A manager of static source
  • Configure variables
  • Support Docker
  • Open api
  • Command line

Update

./yii walle/upgrade    # upgrade walle

Architecture

git/svn, user, host, servers

deployment flow

Screenshots

project config

sumbit a task

list of task

demo show

CHANGELOG

CHANGELOG

Discussing

勾搭下

吴水永微信