walle 瓦力-安装部署

部署时间: 2018年10月31日
部署环境:centos_1708 php7.2 nginx (php5.6无法完成composer install 会提示报php版本过低)

数据库中配置: config/local.php 后面的数据库信息(由于系统是基于YII 可能有指定的环境配置环境 我这就是直接改这个文件了) 文档中说是改config/web.php 但是改了之后还是无效

'dsn'       => isset($_ENV['WALLE_DB_DSN'])  ? $_ENV['WALLE_DB_DSN']  : 'mysql:host=127.0.0.1;dbname=walle',
'username'  => isset($_ENV['WALLE_DB_USER']) ? $_ENV['WALLE_DB_USER'] : 'root',
'password'  => isset($_ENV['WALLE_DB_PASS']) ? $_ENV['WALLE_DB_PASS'] : '',

安装中主要遇到是php版本和数据库配置信息的问题. 其它的步骤参考 官网-安装步骤文档

相关资料

walle-web github
代码部署工具walle
Yii2 使用 .env 来配置项目环境变量 还没测试这个目测好像不符合瓦力这个项目

同一个git库, 是否可以多个用户操作?

线上项目git库会需要多个用户操作一个库, 部署人员、开发者 分别有自己的账号 部署人员主要是切换tag, 开发者可能需要在线上做调试会需要切换branch和tag还有pull等操作. 但会报错误.

用户有两个-user1 user2

先使用user1 git clone 这个时候用这个用户git fetch pull chekcout 操作都是正常的.

然后切换到用户 su user2 做下面操作就会报错.


$ git checkout v1.0.0

fatal: Unable to create ‘/home/test/sample/.git/index.lock’: ????


$ git pull

error: 无法打开 .git/FETCH_HEAD:????

上线测试和上线生产流程(开发到测试到生产部署)-持续集成

开发到部署流程繁琐 如何可以自动化部署, 项目可以自由版本回滚切换. 集成和持续交付 CI/CD

讨论记录 2018年10月09日15:34:13

开发到线上部署流程

M:

  1. 开发提交项目代码, 及部署文档, 发给测试人员.
  2. 测试人员根据部署文档, 在线上测试机器部署及测试.
  3. 如果测试没有问题, 将直接在生产中部署.
  4. 如果测试有问题, 退回给开发 开发修复并 svn tags 然后 测试人员使用 svn witch 切换到对应的 tags 再测试.
  5. 直到测试没有问题. 部署线上生产.

D: FTP

D: ftp 上传代码,代码上传到了一台叫发布机的服务器去了,好像是命名叫发布机吧,具体也忘了,但是 刷新网页半天没显示,后面才知道并不是实时的。 好像是会自动检测代码,如果有问题的话是不会最终到线上版

X: 开发功能-创建分支-完成提交合并-创建新的发布版本-登录测试机-拉取代码-测试-有bug改bug没bug就合并发布版本到master-提交-同步数据库字段-登录生产机-拉取代码-清除数据库表缓存-如有问题创建修复补丁-完成后提交合并

D: 三个概念,持续集成,数据库迁移,数据填充。我觉得哇,laravel中的数据库迁移篇里的工具真的好用。

数据库结构同步

M:

方式1 通过文件来每次项目提交已项目版本号为名字 project_1.0.1.sql
方式2 通过navicat里的数据结构对比

X: 改数据结构-先到erwin结构里面修改-到数据库navicat改-在navicat历史记录里面将sql复制到md文件-每次上线都会先看md文件是否有sql需要执行-复制sql到正式库执行-完成

D: 都可以一行命令同步

G: 大佬级别啊~你们… 能不能让我听懂的

关于开发数据同步

M: 其实数据结构还好说, 有些程序需要的数据同步才麻烦(这种数据我称为开发数据) 比如分类的数据 这种数据线线上可以添加. 会导致id不一致pid这些值.

D: 数据同步那是另外一回事, 测试阶段,数据填充工具很方便

相关内容

大家公司中上线测试和上线生产流程是怎么走的?
Jenkins+Ansible+Gitlab自动化部署三剑客
Laravel 实践之路: 数据库迁移与数据填充

相关部署平台

walle 瓦力
jenkins
Test and Deploy with Confidence
flow
teamcity
gitlab-ci
codeship
脉冲云

相关资料

靠谱好用的 CI 框架选哪家
持续集成是什么
如何理解持续集成、持续交付、持续部署