Skip to content
On this page

学习里程碑 - 服务端完结


学习里程碑 | 🏆 - 服务端完结

从第一章看到现在的同学,按照小册的内容一起开发,此时你已经有一套基础的 DevOps 项目。

可以完成一套简单的 H5 项目从创建 - 开发 - 构建 - 发布的流程。

image.png

学完上述所有章节之后,此时应该能解锁下述技能成就

  1. 能够独立完成开发环境的搭建。
  2. 熟悉基本的服务器操作以及 shell 脚本的开发。
  3. 熟悉 GitLab 更多的功能,了解 Open Api 与 OAuth2 授权等。
  4. 熟悉 Egg 框架的开发,能够完成基本的增删改查。
  5. 对数据库的操作与表设计有一定的了解。
  6. 对工程化有初步的理解与实践。

服务端的内容至此已经完结,后面将是脚手架篇的内容。此时项目依然是不完整的,也有很多欠缺的地方。

随着后续的内容,会逐步将现有的基础项目进一步丰富起来,最终达到一个可用的完整项目。

如果你有什么疑问,欢迎在评论区提出 👏

QA 环节

1. 为什么一定要使用 GitLab,GitHub 与 Gitee 不行吗?

  1. 由于这两个平台没有提供私有化部署,私人项目的需要付费使用,对于一个大一点的团队的话,性价比不是非常高。有些团队的代码希望能够自己保密,所以会选择 GitLab 私有化部署
  2. 其次,在后期的 cli 章节,想针对 GitLab 与 Node 互通做更多的定制,会尝试修改 Server Hook,这一块就需要对 GitLab 的服务端有一定的权限操作。GitHub 与 Gitee 没办法提供到。

2. 只是为了学习目的,如何使用 GitHub 与 Gitee 替换目前的 GitLab

GitHub 与 Gitee 都提供了对应的 open api,并且提供了 OAuth2 认证,下面是两个平台的文档:

另外之前项目中封装过 GitLab Api 也是出于有这种需求的同学考虑,项目中将 GitLab Api 在 helper 封装了一层,业务代码中引用的是封装过后的 api。只要在 help 层将对应的 api 修改掉,业务层是需要修改就能直接使用,不过构建拉取代码的脚本则需要修改。

3. 为什么要写一套基于 GitLab 的 DevOps,GitLab 自带的 CI/CD 不够用吗?

首先,GitLab 的 CI/CD 非常棒,很通用、简单,大多数的小团队可以直接使用。

工程化的主干都是大同小异,但是在每个团队不同业务、场景下也会有自己的优化、定制。

工程化的一套体系不仅仅在 CI/CD 这一块,也包括项目管理、能效、监控等其他的内容,涉及到很多的软件、工具、平台,使用 Node 不仅仅将 GitLab 的功能集成进来,还可以将其他想要的内容集成进来,例如,GitLab 的用户与企业微信、钉钉用户关联打通等操作。

4. 为什么用 Windows 作为 demo 以及使用虚拟机

  1. Mac 的价格不便宜,也不是所有的程序员的都会使用,很多小型公司的程序员可能还是用台式机办公
  2. 其次,使用 Mac 的同学,对操作系统,shell 脚本这块,一般都会比 Windows 同学更熟悉,毕竟图形化的界面会弱化一些程序员的必备技能
  3. Docker 的版本打算放在 Docker 章节统一说,所以在服务端的环境配置就没有写了
  4. 无论是什么样的虚拟机、WSL2、云服务器或者 Docker,只要能够正常配置完毕开发环境的话,都不会影响服务端的学习。

综上的各种原因,所以第一个版本会以 Widows + 虚拟机的环境配置为主,整个系列补充完整之后可以再补充其他的,如果有同学感兴趣、时间富裕的话可以出相关的博客教学,也可以通知我添加附录

为什么没有完整项目代码

完整项目代码

完整项目代码在上述项目中,需要的同学自取,由于涉及的内容比较多,目前还在抓紧更新项目中。

每个团队与人对工程化实践的链路细节都有所不同,还是建议想学习的同学可以自己多写写,项目只是做个参考,并不是唯一标准。

如果你有什么疑问,欢迎在评论区提出,或者加群沟通。 👏