Skip to content

常见问题

记录比较多人遇到的问题

有同学说,面试的时候被问到,你们的项目是如何上线的?

怎么说:

我们是使用流水线部署上线的,测试环境和生产环境都由运维的同学进行搭建

我们只需要在 OPS 平台进行创建一个流水线就可以

  1. 项目本根目录写一个 Dockerfile
  2. Dockerfile 里面就是几行命令修改一下就可以
    1. 指定 nodejs 版本
    2. npm install
    3. npm run build
  3. 流水线会配置 gitlab 仓库地址、Dockerfile 目录和打包后生成的前端代码目录

要部署测试、生产环境只需要在运维平台点一下就可以自动化部署

然后就可以在指定的 ip 上面访问到我们前端的网站了


中小型公司开发测试上线完整流程

  1. 前端、后端开发完成,并且联调试完成
  2. 在禅道填写测试单子,把测试单子指向给测试同学
  3. 群里通知测试和 PM 等项目相关人员
  4. 前端测试单子一般会有:
    1. prd 需求文档、
    2. UI 设计稿 如有
    3. 线上测试地址
    4. 测试环境(比如私有化环境还是公有云环境 如果有的话)
    5. 注意事项 这些
  5. 测试同学拿到测试单子会根据测试单的信息,以及测试用例进行第一轮测试
  6. 如果有 bug 会在 禅道 提交 bug ,并指向 前端或者后端相关研发
  7. 前端(我)会及时处理相关 bug
  8. 这个过程一般都要来回测试 2 到 3 次
  9. 如果 bug 修复完成,测试同学验证没有问题
  10. 这个时候会提交给 UI 同学和产品经理验收
  11. 如果验收有问题会及时返回来给研发人员(我)修改
  12. 由测试同学跟进
  13. 如果都没有问题,那么这个时候提交正式上线单子
  14. 我是在一个内部的平台上提交的(由运维同学搭建)
  15. 上线单子包含:
    1. 上线功能是什么
    2. 做了什么修改
    3. Prd 需求文档
    4. 产品负责人是谁
    5. 选择上线的镜像是哪一个? — (上面 OPS 平台点击部署后会有一个镜像 ID)
  16. 这个时候需要
    1. 我的前端团队负责人通过
    2. 后端负责人通过
    3. 测试负责人通过
    4. 项目负责人通过(如果没有项目负责人 可以说产品经理)
    5. 老板通过(可选 - 小公司这可以这么说)
  17. 都通过了会由运维的同学进行上线
  18. 上线完成后 由测试同学 进行线上测试回归
  19. 没有问题就上线完成了,如有问题 - 联系研发 - 运维同学处理

中小型公司开发测试上线流程图

mermaid
graph TD

subgraph 中小型公司开发测试上线流程
H(前后端开发及联调完成) --> I(填写测试单子)
I --> J(通知测试和 PM)
J --> K(前端测试单子)
K --> L(根据测试用例第一轮测试)
L -.-> M(如果有 bug 提交至禅道)
M -.-> N(研发及时处理相关 bug)
N -.->|来回测试2到3次| L
L --> O(测试同学验证并提交给 UI 同学和 PM 验收)
O -.-> P(如果有问题返回给研发人员修改)
P -.-> L
O --> Q(没有问题提交正式上线单子)
Q --> R(包含上线功能及修改 Prd 需求文档 产品负责人 选择上线的镜像等)
R --> S(前端 后端 测试 项目负责人 老板通过)
S --> T(由运维同学进行上线)
T --> U(线上测试回归)
U -.->|有问题联系研发和运维| T
U --> V(上线完成)
end

如何上线你的项目

  1. 要有云服务器 47.93.97.114

  2. 安装 nginx

  3. 把前端代码丢到 nginx 指定目录就可以

/usr/share/nginx/html

  1. 访问云服务器 ip 地址

http://47.93.97.114:80


docker 和 k8s 的区别

Docker 和 Kubernetes(通常简称为"k8s")是两个不同的工具,用于构建和管理容器化应用程序的生命周期。

Docker 是一个开源的容器引擎,可以在单个主机上运行多个容器,并提供了一个简单的方式来构建和部署容器化应用程序。 Docker 可以将应用程序及其依赖项打包到一个可移植的容器中,使得应用程序在不同的环境中可以轻松地部署和运行。

而 Kubernetes 是一个容器编排工具,用于自动化部署、扩展和管理容器化应用程序。它提供了一个集中式的平台来协调多个容器的运行,并自动进行负载均衡、故障恢复、自动扩展等操作。 Kubernetes 可以管理数千个容器,并在需要时自动将它们调度到不同的主机上运行,从而实现高可用性和弹性。

因此,Docker 主要是一个容器引擎,而 Kubernetes 则是一个容器编排工具,两者的目标和重点有所不同。在实际应用中,通常使用 Docker 来构建和打包应用程序,并使用 Kubernetes 来自动化管理和扩展它们的运行。

Set-ExecutionPolicy RemoteSigned

images/frontend/报错无法加载文件.jpg

查看一下

bash
Get-ExecutionPolicy

设置 Set-ExecutionPolicy

bash
Set-ExecutionPolicy RemoteSigned

安装文件报错

https://blog.csdn.net/qq_68587393/article/details/126509689

bash
npm install @vue/eslint-config-standard@6.1.0 eslint-plugin-vue@7.7.0