新人入职,对项目组的上线规则和遇到的问题做总结!
@important! 对待上线要有敬畏心理,上线需谨慎!!!
一、环境搭建:
npm
npm install npm
fis3
npm install -g fis3
smarty
npm install -g fis3-smarty
二、分步指南
- 拉分支
1、 在icode里搜自己要开发的代码库
2、 要开发一个新需求的时候,拉一个新分支
- 在新的分支开发
1、 先把代码clone到本地工作区
git clone xxx 复制效率云中的命令
2、 切换分支
git pull 拉取分支
git branch 查看当前所有分支
git branch -a 查看所有分支,可以看到自己所在分支
git checkout --track orgin/xxx 跟踪远程分支,并切到自己的分支
git checkout *** 切换到本地分支
绑定远程分支:
---git remote add origin http://[email protected]/git/waimai/wlfe_logistics/logistics-frontend
或:
git remote origin set-url https://[email protected]/git/waimai/wlfe_logistics/logistics-frontend
再次查看(git branch),看是否指向自己的分支
注:切换分支前要先把当前分支commit,可以先不用push。
切换分支后可以进行本地开发。
本地开发时可代理到某RD的开发机进行调试(以xiaoyan为例):
npm run start xiaoyan
记住:push代码前要pbuild!推开发机之前也要pbuild!就是把你的本地代码编译一下,dist目录下是编译后的文件.
注:devserver/config/proxy.conf.js RD开发机地址所在
命令:npm run pbuild
推开发机(以xiaoyan为例):
fis3 release xiaoyan
fis3 release xiaoyan -w (监听)
fis3 release xiaoyan -wL (监听且自动刷新浏览器)
- 代码提交
总体流程:
1、把要提交的文件的信息添加到索引库中 - add;
2、 提交到本地代码库 - commit;
3、 推送到远程代码库 - push
4、查看状态 - status
具体操作:
git add -A 本地仓库添加代码
git commit -m “” 注释需要写
git status 检查当前分支状态---一共有三种状态:已提交(committed)、已修改(modified)和已暂存(staged)
git merge origin/master 合并主干代码,在推代码之前需要进行此操作,以免将他人代码冲掉
git push 推代码
git add . 将当前目录下的所有文件添加到暂存区
git add 文件名 单独添加
- 解决落后
如果你的分支落后主干,那么提测和上线前一定要把主干代码合并到你的分支上。
git fetch origin
git merge origin/master
有冲突的就解决冲突,然后重新pbuild,重新add,重新commit,重新push,然后去发布吧。
注:如果只有编译后的文件冲突,就跳过解决冲突的步骤,直接pbuild。
- 发布
※ 发布之前,在物流大群和外卖大群里发消息(避免负责同一项目的两人冲突上了)
代码push完成之后,icloud上会进行编译,在编译完之后,点击发布,获取发布的版本号
- 上线
1、访问公有云(太平洋)
自行在太平洋的“我”中申请权限
2、接下来,选择相应的服务树,创建上线单->添加模块
3、选择相应模块,版本号就填前面自动生成的那个->创建上线单(填写上线单名称,并发度控制可以填10、20)→创建并上线
4、上到mirror的时候,先打住!
改hosts文件(Mac的host地址:/private/etc,只能复制然后替换,不能直接修改):
10.19.144.43 yizhan.baidu.com (上到mirror上的话,需要改动host,表示在mirror上验证)
然后访问http://yizhan.baidu.com:8068/ 在mirror机子上测试一下
注:用Chrome的访客方式访问,如果页面打不开就看看是不是8068端口没加上。
如果出了问题, 就立即回滚!
注:回滚步骤(上线到mirror时进行此操作):
在上线页面点击回滚后,发布单作废,需要在icloud中取消发布,这是可以重新推代码;然后修改代码后,重新add commit push,然后新建一个发布单。
如果没有问题,就继续发布~
5、上到全量的时候,把hosts文件改回来,再在http://yizhan.baidu.com测试
如果出了问题,还得回滚!
没有问题就上完啦!
- 合主干
1、上完线记得到iCode上合并回主干!
※ 最后再在大群里吼一声:done。。。
------------------------------over------------------------------------
相关网址
效率云(icode):http://xiaolvyun.baidu.com/waimai/icode/repo
公有云(pacific):http://pacific.inwaimai.baidu.com/
前端线下开发及发布上线相关说明:线下开发及发布上线步骤
分支开发分支发布:http://xiaolvyun.baidu.com/docs/archives/1137
效率云icode使用指南:效率云icode使用指南
Git相关
1、当你从远程仓库clone时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin
2、git常用命令
命令备注
git add . 将所有修改的文件添加到本地暂存区
git add 将制定文件添加到本地暂存区
git commit -m "commit msg" 提交当前工作空间的修改内容
git commit --amend - m "commit msg" 修改最近一次提交的内容
git push origin HEAD:refs/for/ 将本地的修改提交到远程仓库
git pull 拉取远程仓库最新代码
git merge 将代码merge到当前分支
git checkout . 撤销本地所有文件修改
git checkout 撤销指定文件修改
git branch -a 查看当前所有分支
git checkout ** 切换分支
git diff 查看本地修改与远程仓库的diff
git log 查看历史提交记录
git revert <$id> 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD 恢复最后一次提交的状态
git rm 从版本库中删除文件
git stash 暂存
git stash list 列出所有stash
git stash apply 恢复暂存的内容
git stash drop 删除暂存区
git branch -D zhongbao-frontend_1-0-45_BRANCH 删除分支
未完待续。。。