大部分公司的前端项目发布工作,都是通过jenkins ⭐20k
和k8s ⭐94k
来自动化的方式进行部署。
正式环境都是运维部门去做的,申请上线单提前给过去,测试环境的话太频繁,几乎是开发或者测试来部署。目前我也只用过这两个工具,通过 web 操作,很是方便。
前端开发者平日里只需要把代码提交到 git 库即可,也无需懂这些活儿,面试的时候也很少涉及,你问,那为啥还要看这些?
我不会说多学点东西是好的,因为再好的知识,对你没有用终归随着时间而淡忘。
比如说在正式环境抛错,图片文件加载慢,测试环境正常,影响到用户使用的时候,你知道运维同学哪里没有配置好,nginx 没有配置好,gzip 没有开启,或者代码不是最新的时候,你能最快定位问题而不是去怀疑自己提交了有 bug 的代码。在你需要运维/后端同学配合优化项目的时候,你有资格和他们讨论怎么做,如何不给其他部门同事增加额外工作量,不使别人反感,同时快速推进功能,提升业务质量的时候。你会明白涉及到工作交付上下游同事的工作,你都应该多懂点。
今天就先聊聊 Jenkins
核心点
持续集成
随着业务增大,开发人员增多,项目迭代快速,多分支提交功能到测试分支,由测试分支合并到 uat 分支,再回归测试、压力测试后,再合并代码至 master 分支,完成业务迭代,与此同时,小优化小 bug 已经在开发分支提交测试了,多条任务线穿插…是不是已经应接不暇了。
持续集成就是可以快速迭代,在代码更新后,自动化测试(很多公司并不配置,业务来驱动),自动拉取,自动构建,自动部署到生产机子上,这一流程使项目质量得到很大的保证。同时这样每次更新一个功能点,发现错误也更容易、迅速。回滚代码操作也是非常简单。
持续交付
就是说代码不管什么时候更新,用户总是无感的,随时可以交付产品/项目
持续部署
代码经部们负责人代码审核后(或者没有这一环节),可以开始部署到生产阶段了。
环境
- windows 安装包
- Java 8 ( JRE 或者 JDK 都可以,支持 Java11-17 版本,
链接
)
下载
官网镜像地址: https://mirrors.jenkins.io/
下载地址: https://jenkins.io/download/
华为镜像地址: https://mirrors.huaweicloud.com/home
阿里云:https://mirrors.aliyun.com/jenkins/?spm=a2c6h.13651104.0.0.c800db0exjUxTr
安装
官网:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/
第一步
1
2λ cd /d D:\software\jenkins // 你的文件安装路径下
λ java -jar jenkins.war --httpPort=7777 --enable-future-java // 端口号7777,默认8080浏览器打开 http://localhost:7777/
安装提示完成初始化
成功
全局配置
至 Manage Jenkins -> Global Tool Configuration, 配置 NodeJs
创建Pipeline
回滚配置
1 | echo "##################################" |
然后出现这样,就成功了.
每一次构建成功后,留下备份dist文件夹,复制一份到文件夹bak下,回滚的时候按手动选择哪次构建版本号来替换源文件