...
|
...
|
@@ -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
|
...
|
...
|
|