<commit_before>Walle 瓦力 web部署系统
==========================

功能
---

Walle景愿是做一个web部署系统工具，[官网主页](http://www.huamanshu.com/walle.html)了解更多。

* 用户分身份注册、登录
* 开发者发起上线任务申请
* 管理者审核上线任务
* 支持多项目部署
* 开发者一键部署上线
* 快速回滚
* 查看上线日志
* 部署前准备任务（前置检查）
* 代码检出后处理任务（如vendor，环境配置）
* 同步到各目标机器后收尾任务（如重启）
* 执行sql构建（不要担心忘记测试环境sql同步）
* 线上文件指纹确认
* 项目的用户管理


依赖
---

* git
* web ui的运行环境php5.4、nginx（apache）、mysql
* composer，安装walle、yii2
* ssh

安装
----
```
git clone <EMAIL>@github.com:meolu/walle-web.git
cd walle-web
vi config/web.php # 设置mysql连接
composer install  # 如果缺少bower-asset的话， 先安装：composer install global require "fxp/composer-asset-plugin:*"
./yii migrate/up  # 导入数据库
```

快速开始
-------
* nginx/apache的webroot配置指向`walle-web/web`
* 配置邮箱（如果没有，好吧，先忽略，注册完手动修改user表的is_email_verified=1即可登录）
    ```php
    vi config/params.php
    'support.email' => '<EMAIL>', // 与config/web.php 中mail模块的username一致
    'mail-suffix'   => [
        'huamanshu.com',
    ]

    vi config/web.php +25
    # 配置mail smtp模块
    'class'      => 'Swift_SmtpTransport',
    'host'       => 'ip or host',            # smtp 发件地址
    'username'   => '<EMAIL>', # smtp 发件用户名
    'password'   => 'password',              # smtp 发件人的密码
    'port'       => 25,                      # smtp 端口
    'encryption' => 'tls',                   # smtp 协议
    ```
* 注册一个管理员身份用户(已有`admin/admin`)，配置一个项目
* 有公司邮箱的开发者注册(已有`demo/demo`)，提交上线任务
* 管理员审核上线任务
* 开发者发起上线


To Do List
----------

* 部署出错详细信息优化
* 项目的开发同学分组可见权限

持续更新开启更多功能
-----------------
```
git pull
./yii migrate    # 更新数据库
```

截图
---
#### 注册发普通开发者和管理角色
![](https://raw.github.com/meolu/walle-web/master/screenshots/login.png)

#### 提交上线任务
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-submit.jpg)

#### 上线列表
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-dev-list.jpg)

#### 配置管理
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-config-edit.jpg)<commit_msg>确定下一个版本要做的事情<commit_after>Walle 瓦力 web部署系统
==========================

功能
---

Walle 一个web部署系统工具，可能也是个持续发布工具，[官网主页](http://www.huamanshu.com/walle.html)了解更多。

* 用户分身份注册、登录
* 开发者发起上线任务申请
* 管理者审核上线任务
* 支持多项目部署
* 开发者一键部署上线
* 快速回滚
* 查看上线日志
* 部署前准备任务（前置检查）
* 代码检出后处理任务（如vendor，环境配置）
* 同步到各目标机器后收尾任务（如重启）
* 执行sql构建（不要担心忘记测试环境sql同步）
* 线上文件指纹确认
* 项目的用户权限管理


依赖
---

* git
* web ui的运行环境php5.4、nginx（apache）、mysql
* composer，安装walle、yii2
* ssh

安装
----
```
git clone <EMAIL>:meolu/walle-web.git
cd walle-web
vi config/web.php # 设置mysql连接
composer install  # 如果缺少bower-asset的话， 先安装：composer install global require "fxp/composer-asset-plugin:*"
./yii migrate/up  # 导入数据库
```

快速开始
-------
* nginx/apache的webroot配置指向`walle-web/web`
* 配置邮箱（试用之后需要更改为自己的企业邮箱smtp，以免信息外泄）
    ```php
    vi config/params.php
    'support.email' => '<EMAIL>', // 与config/web.php 中mail模块的username一致
    'mail-suffix'   => [
        'huamanshu.com',
    ]

    vi config/web.php +25
    # 配置mail smtp模块
    'class'      => 'Swift_SmtpTransport',
    'host'       => 'ip or host',            # smtp 发件地址
    'username'   => '<EMAIL>', # smtp 发件用户名
    'password'   => 'password',              # smtp 发件人的密码
    'port'       => 25,                      # smtp 端口
    'encryption' => 'tls',                   # smtp 协议
    ```
* 注册一个管理员身份用户(已有`admin/admin`)，配置一个项目
* 有公司邮箱的开发者注册(已有`demo/demo`)，提交上线任务
* 管理员审核上线任务
* 开发者发起上线


To Do List
----------

* 同项目同时部署加锁等待
* 静态资源管理器

持续更新开启更多功能
-----------------
```
git pull
./yii migrate    # 更新数据库
```

截图
---
#### 注册发普通开发者和管理角色
![](https://raw.github.com/meolu/walle-web/master/screenshots/login.png)

#### 提交上线任务
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-submit.jpg)

#### 上线列表
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-dev-list.jpg)

#### 配置管理
![](https://raw.github.com/meolu/walle-web/master/screenshots/walle-config-edit.jpg)
{'fraction_non_alphanumeric': 0.19320873914187944, 'fraction_numerical': 0.003948407475651487, 'mean_word_length': 2.9707419017763845, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 25, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6827537', 'n_tokens_mistral': 2063, 'n_tokens_neox': 2244, 'n_words': 218}