流水线优化-缓存目录

· 1 min read

实际项目中,经常会遇到流水线自动化部署,以前端为例,经常需要安包,如果是每次节点服务器都是全量重新拉代码/安npm包,那么速度会很慢,这时候就需要考虑缓存目录的问题。

一般情况,缓存NPM包

https://static.1991421.cn/2025/2025-01-25-102018.jpeg

适用场景:节点服务器每次都会npm install。但该方案下不满足走docker的情况,因为docker里面执行的npm install,不会影响到宿主机的node_modules。

Docker下,缓存NPM包

pipeline {
  agent any
  stages {
    stage('npm 缓存') {
      steps {
        script {
          docker.image('node:14').inside('-v /root/.npm/:/root/.npm/') {
            sh 'npm install'
          }
        }
      }
    }
  }
}

适用场景:CI节点服务器是每次通过docker build来构建前端镜像,镜像中的构建步骤牵扯到npm install。

缓存开启前后,时间对比

写在最后

流水线无论前后端,都需要考虑缓存目录的问题,以提高流水线的执行效率。

相关文档