前端代码 jerkins 自动打包部署的小白问题

2022-10-28 09:30:22 +08:00
 okrfuse

每次把代码推到 gitlab ,jerkins 都会自动打包,但是每次都要执行 npm install ,总是反反复复的出问题,大佬们都是怎么解决这个问题的,这块的 shell 是怎么写的呢?

2791 次点击
所在节点    程序员
25 条回复
bittenbydog
2022-10-28 11:18:33 +08:00
Jenkins 步骤写脚本,用 git diff 或其他方法,判断 package.json 是否有更改,若无更改,跳过 install 步骤
brader
2022-10-28 11:21:03 +08:00
安装包挺烦的,我们受够了,最后就直接在本地安装了,安装完把包目录压缩,Jenkins 部署过程就是直接解压出来用
967182
2022-10-28 13:26:45 +08:00
判断如果有 node_modules 目录就不执行了啊
stage('编译'){
steps {
echo "开始 install"
script {
if(!fileExists('node_modules')) {
sh "npm install --registry=https://registry.npm.taobao.org"
} else {
echo "node_modules 已存在不执行 npm install"
}
}
}
}
vishun
2022-10-28 14:43:24 +08:00
1 、首先需要版本控制上要有 lock 文件。
2 、然后用`npm ci`命令
kongkx
2022-10-28 14:55:56 +08:00
gitlab-ci.yml 上可以设置缓存策略。

1. 一般通过 package-lock.json 来判断是否需要更新缓存。
2. 执行 npm ci --cache <custom _dir> 来安装依赖,并且缓存整个 custom_dir
3. 再细点还可以分 npm 缓存 跟 构建缓存

我用的是用 gitlab ci runner + docker 来跑,jenkins 不知道有什么区别

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/890580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX