# 测试流程 本文件整理了各个项目的测试相关流程 ## 本gitlab服务器内网地址 10.25.66.177 ## node.js项目 node.js项目统一采取自动化测试发布的流程进行部署。测试站统一分为两个,一个是develop分支的开发用测试站,一个是test分支的产品用测试站。一旦部署完成,一般开发者只需要把代码合并到这两个分支,项目就会自动执行单元测试,并在单元测试通过后把代码发布到测试站。 ### 开发者测试流程 1. 若条件允许,在提交代码前务必先在本地完成测试 2. 将分支提交到git服务器,然后在gitlab的**合并请求**界面将分支合并到develop分支 3. 等待流水线执行结果,若流水线执行失败,查看流水线错误记录。修改代码再次提交合并,直到流水线成功为止 4. 流水线执行成功以后,登陆研发测试站进行功能测试 5. 功能测试通过以后,在gitlab的**合并请求**界面将develop分支合并到test分支 6. 等待流水线执行结果,若流水线执行失败,查看流水线错误记录。修改代码再次提交合并,直到流水线成功为止 7. 流水线执行成功以后,通知相关功能的验收人进行测试 8. 后续BUG修改依旧按以上流程进行,禁止在不经过develop分支的前提下直接合并test分支 ### 测试站部署流程 1. 在测试服务器建立对应的项目目录 2. 执行clone命令拉取代码(**注意换成内网地址,以避免使用外网流量**) 3. 进入项目目录,切换到对应测试的远程分支 4. 执行npm i安装依赖 5. 执行对应的pm2文件,启动测试站点并确保服务正常运行 6. 在gitlab项目管理界面打开设置 -> CI/CD -> Runner,查看runner的地址和token(**注册的时候这里的地址记得换成内网地址**) 7. 若测试服务器未安装gitlab runner则在进行下一步前先安装gitlab runner 8. 执行注册命令sudo gitlab-ci-multi-runner register,输入相关信息完成runner注册 9. 给gitlab项目管理界面给runner配置必要的环境变量 10. 重要!给gitlab-runner用户赋予权限,包括sudo免密码执行命令和相关目录完全控制权两大块。缺少这个步骤将会导致流水线无法成功执行。 11. 编写.gitlab-ci.yml文件,提交,检查流水线是否正常(**注意runner用的是gitlab-runner账户,很多执行需要sudo执行**) 12. 测试流水线,确保其在指定分支下能正常工作 13. 完成 ## 最后修改时间 * 2019/9/23