Authored by 梁志锋

修改文件

... ... @@ -34,14 +34,15 @@
git push origin/release/4.3 提交上述所有的更新
#### 合并遇到冲突的解决办法
合并遇到冲突的解决办法
1、命令使用git checkout —theirs 文件路径, 这样接受远程某个目录的代码
git checkout —ours 文件路径, 接收本地代码
要取两者合集的,手工进行合并
要取两者合集的,手工进行合并
2、IDE的git插件
Atom、PHPstorm、WebStorm都有相应的git插件,可以很直观的查看冲突的情况
Atom、PHPstorm、WebStorm都有相应的git插件,可以很直观的查看冲突的情况
3、Beyond Compare文件比对工具
... ... @@ -52,7 +53,7 @@
git checkout -b release/4.3
git pull origin/release/4.3
如有需要,进入compile当前版本的文件夹,rm -rf * 删除所有的缓存文件
如有需要,进入compile当前版本的文件夹,rm -rf * 删除所有的缓存文件
注意:1、查看yohobuy.php文件是否是测试环境的接口
2、检查index-test.php中的use_cache的值为false
... ... @@ -61,18 +62,18 @@
灰度环境也是生产环境, 要求和生产环境一样严格。
十分重要,先检查yohobuy.php的接口是否是生产环境。(之前发生过测试环境接口的代码发送到生产环境了,还好及时发现了)
1、十分重要,先检查yohobuy.php的接口是否是生产环境。(之前发生过测试环境接口的代码发送到生产环境了,还好及时发现了)
cd static
gulp ge 产生的static/dist文件(强制提交git add -f)
gulp dist 将静态资源推送到CDN
2、cd static
gulp ge 产生的static/dist文件(强制提交git add -f)
gulp dist 将静态资源推送到CDN
在master上打tag标记
3、在master上打tag标记
git tag release4.3
git push --tags
git tag release4.3
git push --tags
通知测试发上线邮件或自己发邮件,邮件内容包括代码位置、nginx的修改(如有修改需提醒将线上文件备份)、发布到哪个服务器(目前PC及H5都要发腾讯云和亚马逊、node活动只发亚马逊)、host设置及其它有必要交代的事项。如果是node活动,邮件注明pm2重启的命令:pm2 restart yoho-activity-node
4、通知测试发上线邮件或自己发邮件,邮件内容包括代码位置、nginx的修改(如有修改需提醒将线上文件备份)、发布到哪个服务器(目前PC及H5都要发腾讯云和亚马逊、node活动只发亚马逊)、host设置及其它有必要交代的事项。如果是node活动,邮件注明pm2重启的命令:pm2 restart yoho-activity-node
hosts设置如下,该地址是腾讯云灰度环境的外网IP:
... ... @@ -82,24 +83,24 @@ hosts设置如下,该地址是腾讯云灰度环境的外网IP:
1、十分重要,先检查yohobuy.php的接口是否是生产环境。(之前发生过测试环境接口的代码发送到生产环境了,还好及时发现了)
2、步骤与预生产环境上线步骤基本一致,区别:理论上测试时不指host,如特定要测试某个云还是要指hosts(找运维要IP)
2、步骤与预生产环境上线步骤基本一致,区别:理论上测试时不指host,如特定要测试某个云还是要指hosts
3、如有必要,将版本升1个版本(升级版本compile下的文件夹也要新加一个并强制提交)
3、如有必要,将版本升1个版本(升级版本compile下的文件夹也要新加一个并强制提交)
4、如果必要,需要重新打tag标记,如release4.3.1
上线(包括上灰度环境)需要非常谨慎,仔细合代码,细心、细心、细心,重要的事情讲三遍
上线(包括上灰度环境)需要非常谨慎,仔细合代码,细心、细心、细心,重要的事情讲三遍
由于上线时间一般比较晚,精神没有白天好,所以务必在白天做好准备工作,并提前想好上线失败的退路(代码和配置文件的备份是否正常),如上线失败要立即回滚,不能中断线上业务太长时间,然后排查上线时的代码、配置及日志文件。
## 上线成果确认
1、进行主流程验证:登录、浏览商品、搜索、加入购物车、提交订单、支付(包括微信支付)
1、进行主流程验证:登录、浏览商品、搜索、加入购物车、提交订单、支付(包括微信支付)
2、如发现功能异常,登录堡垒机核实代码版本以及nginx配置是否正确,有时运维的操作可能遗漏部分机器
2、如发现功能异常,登录堡垒机核实代码版本以及nginx配置是否正确,有时运维的操作可能遗漏部分机器
3、上线稳定后,将release合入到develop分支,然后删除release分支
3、上线稳定后,将release合入到develop分支,然后删除release分支
## 其它注意事项
... ... @@ -107,6 +108,7 @@ hosts设置如下,该地址是腾讯云灰度环境的外网IP:
ssh 用户名@密码
2 连接堡垒机的命令
旧堡垒机:ssh -p 6002 用户名@192.168.250.114
... ... @@ -115,6 +117,7 @@ ssh 用户名@密码
Windows使用网站进行登陆堡垒机更方便。
3 测试nginx是否正常,启动,重启的命令
sudo nginx -t (测试nginx文件是否有语法错误)
... ... @@ -123,6 +126,7 @@ sudo nginx -t (测试nginx文件是否有语法错误)
./nginx -s reload (修改nginx需要重启后才生效)
4 compile下以版本号命名的缓存文件文件夹要存在并且有读写权限,否则程序可能不能正常访问
查看读写权限:ls -l
... ... @@ -133,6 +137,7 @@ sudo nginx -t (测试nginx文件是否有语法错误)
如在测试环境发现上述现象,及时补救,加上文件夹并推送远程。
5 查看进程是否启动的命令 ps -ef | grep 进程名
例如:一个502错误定位过程,是发现apache服务已经停掉了
... ... @@ -161,6 +166,7 @@ sudo nginx -t (测试nginx文件是否有语法错误)
如果是,需要通知运维重新建一个文件夹,重新拉代码。
8 堡垒机用于查看线上服务器的代码和配置,信息如下:
亚马逊堡垒机
... ... @@ -179,6 +185,7 @@ sudo nginx -t (测试nginx文件是否有语法错误)
172.31.25.17
腾讯云堡垒机
10.66.1.2
... ...