/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 ten 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.

Requirements

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

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/web.php # set up module db mysql connection info
composer install  # error cause by bower-asset, install:composer global require "fxp/composer-asset-plugin:*"
./yii run/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
    
    'host'       => 'smtp.huamanshu.com',    # smtp host
    'username'   => 'service@huamanshu.com', # smtp username
    'password'   => 'password',              # smtp password
    'port'       => 25,                      # smtp port
    'encryption' => 'tls',                   # smtp protocol
    
    
    vi config/params.php
    
    'support.email' => 'service@huamanshu.com', // the same with username of mail module in config/web.php
  • Configure the path for log

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

    vi config/web.php +73
    
    'language'   => 'en',  # zh => 中文,  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

git pull
./yii migrate # update db

Architecture

git/svn, user, host, servers

deployment flow

Screenshots

project config

sumbit a task

list of task

demo show

CHANGELOG

CHANGELOG

Discussing