摘要:瓦力介绍一个部署系统工具,配置简单功能完善界面流畅开箱即用支持版本管理,支持各种代码发布,,,等代码的发布回滚,可以通过来一键完成。
瓦力介绍
Walle 一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。
功能列表用户分身份注册、登录 开发者发起上线任务申请、部署 管理者审核上线任务 支持多项目部署 支持多项目多任务并行 快速回滚 项目的用户权限管理 部署前准备任务pre-deploy(前置检查) 代码检出后处理任务post-deploy(如vendor) 同步后更新软链前置任务pre-release 发布完毕后收尾任务post-release(如重启) 执行sql构建(不要担心忘记测试环境sql同步) 线上文件指纹确认 支持git、svn版本管理原理分析
上线流程图
Bash(git、ssh)
意味着不支持win、mac的zsh
LNMP/LAMP(php5.4+)
php需要开启pdo_mysql,exec函数执行
Composer
如果国内环境安装极慢,可以直接下载vendor解压到项目根目录
ansible
安装
1、宿主机安装 ansible
yum install ansible # RHEL/CentOS/Fedora
apt-get install ansible # Debian/Ubuntu
emerge -avt ansible # Gentoo/Funtoo
pip install ansible # will also install paramiko PyYAML jinja2
2、宿主机无需其他配置,兼容 ~/.ssh/config 名称、证书配置
3、目标机无需额外配置
walle
项目配置 中 开启Ansible
(可选) config/params.php 配置 ansible_hosts 文件存放路径
按正常流程发布、上线代码,传输文件、远程执行命令均会通过ansible并发执行
php5.6环境CentOS安装
删除老的安装包
remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64```
更新源
CentOs 6.x
rpm -Uvh http://mirror.webtatic.com/yu...
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/y...
安装php 5.6相关组件
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
安装php-fpm 5.6
yum install php56w-fpm
安装git clone git@github.com:meolu/walle-web.git
cd walle-web
vi config/web.php # 设置mysql连接
composer install # 如果缺少bower-asset的话, 先安装:composer global require "fxp/composer-asset-plugin:*"
./yii walle/setup # 初始化项目
配置nginx/apache的webroot指向walle-web/web
最最最详细安装指南以下安装,均在宿主机(一台配置了LAMP/LNMP的linux机器,并且安装git/svn)上操作,如有问题,详见Q&A。
如果还没有安装php 5.4+环境的,请先安装php5.4+,详情看php 5.6安装。
1.代码检出
mkdir -p /data/www/walle-web && cd /data/www/walle-web # 新建目录
git clone git@github.com:meolu/walle-web.git . # 代码检出
2.设置mysql连接
vi config/local.php +14
"db" => [
"dsn" => "mysql:host=127.0.0.1;dbname=walle", # 新建数据库walle "username" => "username", # 连接的用户名 "password" => "password", # 连接的密码
],
3.安装composer,如果已安装跳过
curl -sS https://getcomposer.org/insta... | php
mv composer.phar /usr/local/bin/composer # PATH目录
4.安装vendor
cd walle-web
composer install --prefer-dist --no-dev --optimize-autoloader -vvvv
安装速度慢或失败,可直接下载vendor解压到项目根目录
5.初始化项目
cd walle-web
./yii walle/setup # 需要你的yes
6.配置nginx
凡是在第7步刷新页面看到50x均是前5步安装不完整,自行检查
凡是在第7步刷新页面看到404均是nginx配置不当,自行检查
nginx简单配置
server {
listen 80; server_name walle.compony.com; # 改你的host root /the/dir/of/walle-web/web; # 根目录为web index index.php; # 建议放内网 # allow 192.168.0.0/24; # deny all; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ .php$ { try_files $uri = 404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
7.恭喜:)
访问地址:localhost
当然,可能你配置nginx时的server_name是walle.company.com时,配置本地hosts之后,直接访问:walle.company.com亦可。
安装错误composer安装速度慢
好吧,我已经猜到会有人问有没有现成的,有!
下载百度网盘,解压vendor放到walle-web根目录即可。
第一次使用composer可能会出现的问题:1 没有添加git的token
Could not fetch https://api.github.com/repos/jquery/jquery, please create a GitHub OAuth token to go over the API rate limit Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+localhost+2015-10-08+1123 to retrieve a token. It will be stored in “/root/.composer/auth.json” for future use by Composer. Token (hidden):
解决办法:
复制提示里的地址到浏览器,点击生成git token,如上面的:https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+localhost+2015-10-08+1123 复制token到命令行,认证,继续
第一次使用composer可能会出现的问题:2 composer install 可能会出现的错误
Loading composer repositories with package information Installing dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 yiisoft/yii2 2.0.x-dev requires bower-asset/jquery 2.1.@stable | 1.11.@stable -> no matching package found. ….
解决办法:composer global require "fxp/composer-asset-plugin:*"
如何添加用户key到git的ssh-keys列表
su - www # 假如www为你的php进程用户
ssh-keygen -t rsa # 如果你都没有生成过rsa_key的话
cat ~/.ssh/id_rsa.pub # 复制
打开github/gitlab添加到你的ssh-keys或者deploy-keys里
如何添加用户ssh-key到目标机群部署用户ssh-key信任
宿主机操作
ps aux|grep php # 假如www_php为你的php进程用户
su - www_php # 切换用户
ssh-keygen -t rsa # 如果你都没有生成过rsa_key的话,如果有则跳过
ssh-copy-id -i ~/.ssh/id_rsa.pub www_remote@remote_host # 加入目标机群信任,需要输入www_remote密码
初始化walle时失败:could not find driver
缺少pdo扩展,解决办法:添加pdo扩展
ubuntu
apt-get install php5 php5-fpm php5-mysql
或者在源码包里编译
cd php-src/ext/pdo_mysql
phpize
./configure --with-php-config=/php/install/dir/bin/php-config
make && make install
vi php.ini # 添加pdo_mysql.so
restart php-fpm
7.nginx简单配置
server {
listen 80; server_name walle.company.com; # 改你的host root /the/dir/of/walle-web/web; # 根目录为web index index.php; # 建议放内网 allow 192.168.0.0/24; deny all; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ .php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
切换用户(www)时:this account is currently not available
cat /etc/passwd | grep www # 查看是否为 /sbin/nolgin
解决办法:
vipw /etc/passwd
修改/sbin/nolgin为/bin/bash
The file or directory to be published does not exists: /data/www/walle-web/vendor/bower/jquery/dist
新建此目录即可:/data/www/walle-web/vendor/bower/jquery/dist
Call to undefined function yiiwebmb_parse_str()
缺少mbstring扩展,安装mbstring扩展重启php即可。mbstring扩展:http://php.net/manual/zh/mbst...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26246.html
摘要:瓦力介绍一个部署系统工具,配置简单功能完善界面流畅开箱即用支持版本管理,支持各种代码发布,,,等代码的发布回滚,可以通过来一键完成。 瓦力介绍 Walle 一个web部署系统工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布、回滚,可以通过web来一键完成。 功能列表 用户分身份注册、登录 开发者...
摘要:项目地址瓦力,上线开源两个月,目前已支持超过十家企业线上部署使用,每周更新一个版本,持续带来新特性。支持开放接口支持第三方了解更多项目地址瓦力,官方主页瓦力。 1 Git Flow 一般而言,软件开发模型有常见的瀑布模型、迭代开发模型、以及最近出现的敏捷开发模型等不同的模型。每种模型有各自应用场景,Git Flow是构建在Git之上的一个组织软件开发活动的模型,Git Flow重点解...
摘要:瓦力是一个支持多用户多项目多环境同时部署的上线部署系统。详见项目,或花满树官方说明,如果喜欢欢迎标,支持我们把瓦力做强大。详情项目官网主页文档手册更新介绍瓦力自动化部署工具 showImg(https://segmentfault.com/img/bVrjiG); Walle - 瓦力 是一个支持svn、git、多用户、多项目、多环境同时部署的上线部署系统。 github项目 wall...
阅读 2000·2019-08-29 16:27
阅读 1370·2019-08-29 16:14
阅读 3371·2019-08-29 14:18
阅读 3453·2019-08-29 13:56
阅读 1252·2019-08-29 11:13
阅读 2117·2019-08-28 18:19
阅读 3438·2019-08-27 10:57
阅读 2272·2019-08-26 11:39