• 工程化(产研流程规范)


    流程:产品提需求,开发,部署,过冒烟,提测,测试有问题继续改,改完push新代码,测试or开发部署,测试通过准备上线。
    一劳永逸的操作:装nvm,一个java环境(brew install java)

    开发阶段

    线上项目地址克隆到本地并创建自己的开发分支:

    从release分支拉代码
    git clone release地址
    cd 项目名
    git checkout release 
    git pull //拉取远程最新的代码
    git checkout -b feat-button //新建一个自己的开发分支
    git push //把自己的分支push到远程((git push --set-upstream origin feat-button))
    //每拉一个新的项目,第一次把自己在本地的分支推到远程,都需要mentor把自己加个权限,加到这个项目里。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    再从release分支上创建一个test-button分支:

    首先把自己feat-button上的代码暂存并commit一下,
    git checkout release // 切换到release分支
    git checkout -b test-button //要从release切test-button分支,要保证和线上代码一样。
    git push //把test分支push到远程
    
    • 1
    • 2
    • 3
    • 4

    then npm i,(报错的话就按照提示用npm i – legacy) ,并使用正确的npm版本,就可以在feat- button分支上愉快的开发啦,并每天把feat-button分支提mr到test- button分支上。
    merge request(mr):git merge 和git rebase都是在本地进行分支合并,merge request是在网页端进行分支合并,主要是可以艾特他人进行code review后再合并代码。
    可能需要修改env.development文件下面的proxy-target。

    前后端联调
    在前后端约定联调的时间再run api,否则要把swagger和@src/services文件点击撤销更改。
    在env.development里面把proxy_target地址改为联调的环境地址。
    联调流程:
    在json2service文件里把后端发来的链接地址换一下。然后npm run api更新api,对自动弹出的文件选择全选,保存。
    搜索后端发来的接口,path,在api/service里找到对应的接口函数。调用接口要保证path一致且去接口文档看对应的接口函数需要传入什么参数。也要注意后端返回的数据类型和内容
    npm run api后如何找对应的fetch方法呢?后端发来的地址,点开,点击对应的controllerApi or baseApi or dictApi,在自动展开的那个里面有路径,把其复制并在编译器里搜索,找到对应这个path的方法名。
    踩坑:npm run api以后如果有提示service里没有导出有一些变量或函数,可以去git检查一下更改。看看是不是有变量改名了。如果替换成新的变量名还是编译器提出没有这个变量导出,但是控制台不报错了,那可能是编译器没反应过来。
    注意看控制台network信息,状态码及传的值及后端返回的数据。

    部署阶段

    完成了小需求,并git push到远程,mentor看了没问题,合并feat-button代码到test-button分支,就可以开始部署到测试环境了,部署完开始冒烟测试。
    如何部署
    点开test环境的流水线,点击快速构建,分支记得选合完的test-button而不是feat-button。

    过冒烟测试

    冒烟测试:点击开始测试,去文档打开部署完的测试环境的系统地址,按照操作步骤,去验证是否达到了预期结果。一条一条过。

    提测阶段

    冒烟测试通过后,进行提测:
    提测之前需要先申请加入对应项目,让mentor或负责的测试通过。在EE-KRun里点击体测列表/新建提测单,按规定填写。

    上线阶段

    如何上线
    测试那边全部测完且没有问题以后,就可以开始上线了。在上线之前需要先把线上release分支代码和自己本地的开发分支代码合一下,因为有人可能也更新了release代码。
    步骤:

    git branch
    git checkout release
    git pull//git fetch比较好
    git checkout feat-button
    git merge release  此时若有冲突就解决冲突,若没有就下一步
    git add .
    git commit -m "feat: merge后提交"
    git push
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    or
    在本地合远程另一个分支:

    git fetch origin 远程分支名
    git merge origin/远程分支名
    
    • 1
    • 2

    git合并分支出现“Please enter a commit message to explain why this merge is necessary“解决方案:
    输入“:wq”,注意是英文输入状态下的冒号,然后按下“Enter”键即可。
    “ :wq”是Linux操作系统命令: 表示强制性写入文件并退出。

    合过代码之后将feat-button分支push到远程库,之后mentor将其合到test-button分支,这样test-button分支上也是最新的代码。然后就可以点击流水线的快速构建来部署,这次是部署到release环境,之后点击填写上线单。

  • 相关阅读:
    python调用c++版本dll01-简单的加法调用
    厨卫电器行业S2B2C系统网站解决方案:打造S2B2C平台全渠道商业系统
    BUUCTF [MRCTF2020]Ez_bypass1
    Dubbo3应用开发—协议(Dubbo协议、REST协议 、gRPC协议、Triple协议)
    MATLB|具有储能的经济调度及机会约束和鲁棒优化
    基于echarts 数据可视化大屏展示HTML大数据综合分析平台模板
    Java学习笔记(十五)
    【Flutter】IOS运行工程二次启动崩溃问题。
    基于springboot高校学生健康打卡系统毕业设计源码021009
    Java:选择哪个Java IDE好?
  • 原文地址:https://blog.csdn.net/weixin_44915595/article/details/125624628