名词解释

  • 集成:在推送或者 merge 代码后自动进行构建打包
  • 交付:将上一步生成的代码包发布至测试、生产等环境

需求

在 git 代码仓库发生变化后,自动执行打包脚本,并且发布至服务器。

解决的问题

  • 在之前每次开发完毕需要上线之前,需要手动执行 bash 命令打包,并且将打包后的代码人为的拖动至上传应用(FlileZilla Pro)。
  • 手动执行构建脚本消耗时间人力
  • 而拖动代码文件会存在拖拽错误,覆盖之前的其他项目代码等难以预料的问题

工具选择

  • gitlab/github/gitee
  • Jenkins(各种插件,前置 java 环境)

工具职责

  • git 负责存储代码,利用平台提供的 webHook 功能去监听 push,merge 等事件,监听到这类事件之后,会给配置的 url 发送 post 消息
  • Jenkins 负责接受到 post 消息后,执行构建脚本(构建环境需要选择 node):npm run build,生成构建后的代码之后通过 SSH 登录,然后去通过 FTP 上传至目标服务器(环境)
  • 以 gitee 为例,当收到的数据当中的 tree_id 字段时,说明此时构建的是 tree_id 分支,然后根据测试分支,线上分支,去上传文件至不同的服务器
前端自动化部署方式
  • 向上边说的那种前后端配合实现的,可定制流程的自动化部署方式(分支环境可控制)
  • 在推送分支的时候进行的自动化打包部署:如SAE,gitHubhooks 等
  • 也可以在本地写一个上传 OSS 的服务,在 run build 完毕的时候上传文件即可(前提是要有 FTP 相关的账号密码)

参考实践链接

Jenkins 安装
Jenkins 插件安装及应用
常见 linux命令
Jenkins 配置 SSH 链接
一个不错的实践

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐