缓存目录

最近更新时间:2020-05-07 16:00:42

本文为您详细介绍持续集成中的缓存目录。

前提条件

设置 CODING 持续集成中构建环境的前提:您的腾讯云账号需要开通 CODING DevOps 服务,详情请参见 开通服务

进入项目

  1. 登录 CODING 控制台,单击团队域名进入 CODING 使用页面。
  2. 单击页面右上角的 ,进入项目列表页面,点击项目图标进入目标项目。
  3. 进入左侧菜单中的【持续集成】>【构建计划】>【···】>【设置】>【变量与缓存】。

功能介绍

项目本地安装依赖包时,会把下载的文件缓存起来,所以下次安装快很多。例如 npm install 会在项目中生成 ./node_modules,而缓存在 ~/.npm 目录,后者体积更小,更通用。
而持续集成每次构建都是一个全新的运行环境,所以需要指定「缓存目录」。
如果在持续集成中使用 Docker,则需要把「缓存目录」挂载到 Docker 中。

默认环境构建

“默认环境”是 Linux 系统(root 用户),缓存目录如下:

包管理工具 缓存目录
Maven /root/.m2/
Gradle /root/.gradle/
npm /root/.npm/
composer /root/.composer/
pip3 /root/.cache/pip/

在持续集成设置中直接勾选对应的【缓存目录】即可,如果缺少也可以自行录入。

CODING 持续集成 缓存目录

Docker 环境构建

如果使用 Docker 环境构建,先勾选【缓存目录】,再挂载到 Docker 中即可。例如下列 Jenkinsfile 挂载了 npm 缓存:

pipeline {
  agent any
  stages {
    stage('检出') {
      steps {
        checkout([
          $class: 'GitSCM',
          branches: [[name: env.GIT_BUILD_REF]], 
          userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]
        ])
      }
    }
    stage('构建') {
      steps {
        script {
          docker.image("node:12").inside('-v /root/.npm:/root/.npm') {
            sh 'npm install'
          }
        }
      }
    }
  }
}
目录