walle(瓦力)部署系统的安装和简单使用

Walle(瓦力):一套软件开发的部署系统。提供了清晰的日志记录,支持数据的回滚。用于解决大型团队在软件开发中的测试、预测试和上线的统一部署管理。

系统环境:CentOS6.8-A CentOS-6.8-B

软件支持:walle  ssh  php-5.6  gitlab-8.6.0  composer  nginx-1.10  git2.3  Mysql5.6

安装过程:

    1. 基础环境

      1. yum install openssh-clients  支持ssh(CentOS6.8-A)
      2. 安装nginx(请自行百度,CentOS6.8-A)
      3. 安装php-5.6(请自行百度),把php配置到环境变量。(CentOS6.8-A)
      4. 安装composer(请自行百度),php composer-setup.php --install-dir=/usr/bin --filename=composer(CentOS6.8-A)
      5. 安装gitlab(请参考官网安装教程, CentOS6.8-B)
      6. 安装git(请自行百度)。并添加到环境变量(CentOS6.8-A)
      7. 安装Mysql5.6(请自行百度)
    2. 测试基础环境搭建
      1. 在CentOS6.8-A中通过nginx访问php文件是否成功
      2. 在CentOS6.8-B中访问gitlab是否成功
    3. 用户配置
      1. 添加新用户(www_php),并且是可登录的正常用户
      2. 设置php-fpm的用户以及用户组为新创建的用户(www_php),并设置重启
      3. 为新的用户通过ssh生成密钥(公钥和私钥)
      4. 把新用户的公钥添加到gitlab,并进行测试无密码git操作(拉取|推送等等),首次拉取会进行服务端身份指纹的验证,再次拉取则可以进行无密码拉取
      5. 设置新用户自己通过ssh无密码连接自己(centos可以通过ssh连接自己)
    4. 文件权限设置
      1. mkdir /storage/deploy/form
      2. mkdir /storage/deploy/release
      3. mkdir /storage/www
      4. 设置上述创建的文件可以为新用户(www_php)读写的权限
    5. 安装walle(http://www.walle-web.io/docs/installation.html)
      1. git clone https://github.com/meolu/walle-web.git
      2. 在walle-web->config->local.php文件中配置连接Mysql的参数
      3. composer install --prefer-dist --no-dev --optimize-autoloader -vvvv 通过composer安装walle-web的第三方拓展
      4. walle-wab->yii walle/setup  初始化项目
      5. 配置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;
    }
}

      6. 访问域名。内容的管理员帐号为admin|admin

问题解答

  1:请确认php进程用户{user}有代码存储仓库{path}读写权限。

    chown -R {user}:{user} {path}

    chmod 755 {path}

    2:请确认php进程用户{user}把ssh-key加入git的deploy-keys列表

      1):没有把{user}生成的公钥添加到gitlab的ssh-key管理列表中。请添加,并且测试是否可以通过{user}进行无密码的git的操作

      2):确定把{user}加入到了指定的git管理仓库中,那么请使用git随便拉取一个repository,因为首次拉取会让客户端进行远程服务端的身份指纹验证的操作

      请确保{user}可以进行无密码的正常拉取操作

      3):当以上两种情况都没有问题,命令行可以正常拉取,但是通过walle还是报错。请将git创建一个软连接到/usr/bin。(本人遇到的就是这个问题)

    3:gitlab在添加ssh的时候报500错误

      cat  /var/log/gitlab/gitlab-rails/production.log

      1):/usr/bin/env: ssh

        yum install openssh-clients -y

    4:请确认php进程{local_user}用户ssh-key加入目标机器的{remote_user}用户ssh-key信任列表

      请确保{local_user} 通过ssh可以无密码登录{remote_user}

    5:{remote_user}有目标机器发布版本库{path}写入权限

      解决方法请参考->1

    6:walle上线出现无法已非目录覆盖目录

      

       这里的webroot填写的存放路径的最后一个文件名称,不能存在。walle会部署项目的时候以最后一个名称为项目文件名。如:/www/webroot/test  则test不需要创建,并且test需要有针对上图中的[用户]拥有读写权限。

walle的原理解析

    通过PHP中的exec()函数基于SSH安全验证机制(免密码登录)进行一系列的命令操作,如git的拉取、文件夹的创建、文件的远程拷贝等等。  

  

时间: 2024-11-12 01:41:38

walle(瓦力)部署系统的安装和简单使用的相关文章

walle上线部署系统

1.简洁安装指南 git clone [email protected]:meolu/walle-web.gitcd walle-webvi config/web.php # 设置mysql连接composer install  # 如果缺少bower-asset的话, 先安装:composer global require "fxp/composer-asset-plugin:*"./yii walle/setup   # 初始化项目配置nginx/apache的webroot指向w

walle自动化部署平台安装

Walle - 瓦力 是一个支持svn.git.多用户.多项目.多环境同时部署的上线部署系统. 相比jenkins其项目配置更简单.回滚快速.权限分级.用户分组功能更完善:UI界面更优雅,用户体验更人性,大大方便了开发者和管理者的持续交付开发.支持各种web语言代码发布,php.python.java等. 其最大特点是对git版本的分支.tag可自定义在测试.预发布,生产环境部署.开发者和测试同学协作迭代开发上线,无论是milestone或者feature小步快走式上线都可支持. 一,基础准备

vSphere部署系统之04——ESXi的安装和配置

实验环境总体规划,请见前一篇博文<vSphere部署系统之03实验环境总体规划>. 在这一章节中,主要对三台PowerEdge R720服务器进行ESXi系统安装及基本配置. ▲总体规划网络拓扑图 一.服务器RAID配置 通常情况下,对于ESXi系统,尤其是将要使用本地存储的ESXi系统,建议使用至少有两个磁盘的服务器(注:这里请区分清楚磁盘与硬盘的区别),其中一个磁盘用于安装ESXi系统,建议容量为5~30GB:另一个磁盘则用于ESXi的数据存储,保存虚拟机. 在实际应用中,为了获得更好的性

服务器远程监控管理(二)-系统远程安装部署

上一章说过,通过DELL的远程管理卡(IDRAC卡),可以完成重起进入BIOS等所有进系统前的操作,这是windows的远程桌面做不到的,因此你原来在机房里的所有本地操作,在远程都可以完成,比如:远程光盘引导安装操作系统. 远程管理卡支持将网络上的操作系统ISO文件映射成本地虚拟光盘,因此,即使你的服务器没有光驱或光驱里没有光盘,仍然可以通过ISO文件映射成虚拟光驱安装操作系统. 1.进入远程管理卡界面(详见上一章内容),点击启动. 2.在下面弹出窗口中,点击"连接虚拟介质" 3.完成

zabbix记一次简单的部署包方式安装一次过

zabbix记一次简单的部署包方式安装一次过 记一次部署包方式安装一次过 环境centos7 zabbix 3.2.11 准备工作 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 关闭selinux vi /etc/selinux/config SELINUX=enforcing改为 SELINUX=disabled 或者 sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinu

社交系统ThinkSNS+安装部署演示

ThinkSNS(简称TS),一款全平台综合性社交软件系统,10年来为国内外大中小企业和创业者提供社交化软件研发及技术解决方案.目前有ThinkSNS V4.ThinkSNS+两个并行系统. ThinkSNS一直不断优化,持续更新,旨在为大家带来更好的系统体验,能够更快更好地应用到商业化.企业化等多样化的软件项目中,加速你的开发进度,减少研发时间周期. ThinkSNS社交系统主要功能有:微博(朋友圈).即时聊天.直播.论坛.资讯.CMS.活动.频道.圈子.问答.打赏等主流社交功能应有尽有. T

OA办公系统的安装与部署步骤

OA办公系统的安装与部署步骤 OA办公系统的安装与部署步骤 系统镜像文件的选择步骤启动虚拟机后选择第一个Centos 7 (根据自己的操作系统选择安装)进入选择界面找到中文点击后继续下一步点击软件选择选择带GUI的服务器然后点击完成点击安装位置选择我要配置分区配置手动分区,根据步骤操作接受更改点击网络和主机名打开以太网获取IP地址后点击完成,开始安装配置管理员的密码,创建普通用户账户和密码,耐心等待系统的安装过程安装完成后点击重启点击进入以后,我同意打上勾.点击完成点击完成配置,进入系统根据提示

debian系统下安装shh服务

它是什么?? SSH 为 Secure Shell 的缩写,简单地说,SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题. Openssh 为这种协议的实现或实体,我们可以通过 openssh 这个开源的软件进行远程登录. 为什么要用它? 由于我笔记本上装的为debian系统,而台式机为windows系统并且双屏,再把我的笔记本记到桌子上真的没有多少地方了,并且操作笔记本时还要扭

自动化运维平台之系统自动化安装Cobbler系统使用详解

一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP.DNS.以及yum仓库.构造系统ISO镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷. 二.cobbler提供的功能 使用