A Web Deployment Tool (web代码部署工具)
HTML PHP CSS JavaScript ApacheConf Batchfile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets translate into English Nov 16, 2015
components git fetch 时增加 --prune 参数,远程分支本删除,本地也不再保留 Sep 10, 2016
config
console 优化pull和对外邮件组 Mar 20, 2016
controllers
docker
docs
mail
messages add ldap login support Nov 13, 2016
migrations
models add ldap login support Nov 13, 2016
runtime
tests added local.php to unit tests Nov 24, 2015
views add ldap login support Nov 13, 2016
web
widgets 初级版本上线 Sep 11, 2015
.gitignore
.travis.yml 暂时去掉 codecept Aug 2, 2016
Dockerfile docker相关文件放docker目录 May 15, 2016
LICENSE 初级版本上线 Sep 11, 2015
README.md
composer.json travis测试路径 Aug 2, 2016
composer.lock update composer.lock Apr 17, 2016
yii

README.md

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/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 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' => '花满树出品'],  // 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

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