瓦力walle代码发布系统
代码上线系统一直是我比较关注的问题。
以前公司试过直接用ftp上传。每次3台web服务器同时上传,费时而且容易出错
后来使用过Beyond Compare,每次上传前比较,也差不多费力
再后来公司使用svn,使用运维写的shell脚步上传,就方便很多。 但还是需要登录linux服务器操作,所以上传只能运维上传,不能分工到其他人,很多时候不方便。
一直想要个web界面的代码发布系统,刚好发现了瓦力系统,觉得不错,尝试本地安装测试下。
参考文章瓦力官网http://www.walle-web.io
注:安装前需要安装PHP,Mysql,Nginx
1. 代码检出
1 | yum install git #如果没有安装git |
2. 安装composer,如果已安装跳过
1 | curl -sS https://getcomposer.org/installer | php |
3. 修改mysql连接
1 | cd walle-web |
4. 安装vendor
1 | cd walle-web |
如果没有composer,也可以直接下载vendor包,放在根目录,下载链接http://pan.baidu.com/s/1c0wiuyc
5. 初始化项目
1 | cd walle-web |
此为初始化数据库,后台登录名默认admin/admin。笔者缺少此步,发现没法登录
6. 配置nginx
访问localhost测试,发现自动跳转到localhost/site/login就404,分析四nginx配置错误 nginx简单配置
1 | server { |
调整配置,设置权限,重启nginx
7. 测试
访问地址:localhost 当然,可能你配置nginx时的server_name是walle.company.com时,配置本地hosts之后,直接访问:walle.company.com亦可。
8. 创建目录,修改权限
1 | groupadd www #添加www组 |
9.github ssh key
phpssh-keygen -b 2048 -t rsa #产生key vi /home/www/.ssh/id_rsa.pub
复制到github setting ssh设置中
10. 目标服务器免密码登录
A机器www用户免密码登录B机器
参考博客文章
SSH免密码登录失败
11. 设置好wwwroot目录和发布版本库目录
注意测试好权限,发现这里有一个提示的bug 一直提示我发布版本库wwwroot写入权限错误。后才发现是发布版本库权限错误而不是wwwroot权限错误
12. 检测
检测通过后,在“我的上线单”->“创建上线单”,然后对应进行。 上线成功后发现wwwroot目录是软连接到发布版本库