温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Runner缓存加快前端构建

发布时间:2021-12-10 14:30:03 阅读:346 作者:iii 栏目:大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容主要讲解“如何使用Runner缓存加快前端构建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Runner缓存加快前端构建”吧!

Before

Gitlab-ci是Gitlab提供的CI/CD特性,结合Gitlab简单友好的配置界面,能愉悦的在Gitlab界面查看管道执行流程,并自然流畅的推动敏捷开发。
Gitlab-CI/CD的核心是搭建Gitlab Runner、编写.gitlab-ci.yaml文件。
详细示例请参考:Gitlab CI/CD+ASP.NET Core.

“  

本次前后端两个项目使用同一个Gitlab Runner(shell模式),前端项目的gitlab-ci.yaml构建Job如图:如何使用Runner缓存加快前端构建

 

Round 1

单个Gitlab Runner可为多个项目提供构建服务

“  

gitlab-Runner register命令只能接受一个注册token,当时为支持多个项目,花了不少冤枉心思倒腾Gitlab Runner.

你可以为注册的项目解锁Runner,这样Gitlab Runner就可以为其他项目提供构建:

如何使用Runner缓存加快前端构建  
 

Round 2

使用Runner缓存加快前端构建过程
大家都知道npm_module被前端开发者诟病为毒瘤, 而Gitlab runner执行每次构建job之前都会清场,pull/fetch指定的代码再执行job, 这就导致每次build job会耗时很久(要拉取毒瘤)。

#!/bin/bashcd   packages/event-analysisyarn config set registry http://registry.npm.xxoo.com &&  yarn --prefer-offline --frozen-lockfilenpm run build
 

以上是build任务的脚本frontend.sh,总耗时3m33s,其中yarn命令拉取npm_modules耗时172.52s如何使用Runner缓存加快前端构建如何使用Runner缓存加快前端构建

gitlab runner支持缓存
在.gitlab-ci.yaml 文件中定义cache指令:cache被用来在job之间缓存文件,更强大的是可以定义文件依赖缓存:

build:  stage: build  cache:    key:      files:        - packages/event-analysis/package.json    paths:      - node_modules  script:    - ./frontend.sh  tags:    - my-tag
 

缓存key是yarn命令要用到的package.json,缓存内容是npm_modules;
只要这个package.json文件未变更,后续任务就会使用缓存的npm_modules,而不用重建npm_modules依赖。

使用runner缓存优化后build任务总耗时1m18s,其中yarn命令耗时22.83s, 相比之前耗时大大减少 ,妙哉。

如何使用Runner缓存加快前端构建    

到此,相信大家对“如何使用Runner缓存加快前端构建”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/3791544/blog/4353894

AI

开发者交流群×