在GitLab CI/CD中,为了加速构建速度,特别是对于Node.js项目,我们经常需要缓存`node_modules`目录,以避免每次流水线运行时都重新下载所有依赖。以下是如何在`.gitlab-ci.yml`文件中配置缓存`node_modules`的示例: ```yaml cache: paths: - node_modules/ before_script: - npm ci job1: script: - npm run build job2: script: - npm test ``` 在这个例子中: 1. `cache.paths`部分指定了要缓存的路径,这里是`node_modules/`,即npm的依赖包目录。 2. `before_script`部分定义了一个在每个job开始之前都会执行的脚本,这里使用`npm ci`命令来安装项目依赖。`npm ci`与`npm install`类似,但更快,更适合持续集成环境,因为它会严格按照`package-lock.json`或`npm-shrinkwrap.json`文件的内容来安装精确的版本。 3. `job1`和`job2`是你的CI/CD流水线中的两个具体任务,它们在运行时可以复用缓存的`node_modules`,从而显著提高构建速度。 尽管缓存可以提升速度,但也可能引入一些问题,例如当依赖版本更新后未正确反映到构建中。在依赖更新后,通常建议清除缓存并重新安装。 [2024-02-22 17:17:23 | AI写代码神器 | 306点数解答]