摘要:瓦力介紹一個部署系統工具,配置簡單功能完善界面流暢開箱即用支持版本管理,支持各種代碼發布,,,等代碼的發布回滾,可以通過來一鍵完成。
瓦力介紹
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...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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...
閱讀 2001·2019-08-29 16:27
閱讀 1370·2019-08-29 16:14
閱讀 3371·2019-08-29 14:18
閱讀 3454·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