
# 缓存目录使用说明
CodeArts Build在部分构建步骤中提供了依赖缓存的能力，能够极大提升用户构建时依赖包的下载效率，进而提升构建效率。用户在执行构建任务时，CodeArts Build在构建任务执行机上以租户维度进行远端缓存目录挂载，构建时直接使用，无需重复下载。当前支持缓存能力的构建步骤[表1]。
#### 约束与限制
执行缓存清理操作前，请务必仔细阅读以下缓存清理风险以及注意事项：
- 由于缓存目录为同租户共享，频繁清理缓存会概率性导致同租户用户构建异常（常表现为"xxx文件不存在"），因此只可在缓存异常时清理，任务执行成功后务必再次编辑任务，删除清理命令，并且在执行清理缓存操作的同时，不要执行其他的使用缓存的编译构建任务。

- 出于安全考虑，缓存清理命令只可在对应构建步骤里执行，在其他步骤执行此命令会导致"目录不存在"或"清理无效"等报错。
 
 表1各构建步骤缓存目录使用说明 
| **构建步骤**                                                             | **缓存目录**（只能填写绝对目录，禁止填写"./"开头的相对目录） | **缓存使用方式**                                                                                   | **清理缓存命令**                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| Maven构建                                                              | /repository/local/maven            | 图形化配置方式，参考[Maven构建](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_00051.html)。 | rm -rf /repository/local/maven/{groupId}/{artifactId}/{version}，需填入的参数分别对应依赖包坐标中的groupId、artifactId和version，其中groupId中的点会被自动分割为层级目录。 若依赖包如下： ``` <dependency> <groupId>com.codearts.java</groupId> <artifactId>demo</artifactId> <version>1.0-SNAPSHOT</version> </dependency> ``` 则清理该依赖包所需命令为：rm -rf /repository/local/maven/com/codearts/java/demo/1.0-SNAPSHOT |
| NPM构建                                                                | /npmcache                          | 构建命令行输入：npm config set cache /npmcache                                                       | npm cache clean --force                                                                                                                                                                                                                                                                                                                                                                                                            |
| Grunt构建                                                              | /npmcache                          | 构建命令行输入：npm config set cache /npmcache                                                       | npm cache clean --force                                                                                                                                                                                                                                                                                                                                                                                                            |
| gulp构建                                                               | /npmcache                          | 构建命令行输入：npm config set cache /npmcache                                                       | npm cache clean --force                                                                                                                                                                                                                                                                                                                                                                                                            |
| Android快应用构建                                                         | /npmcache                          | 构建命令行输入：npm config set cache /npmcache                                                       | npm cache clean --force                                                                                                                                                                                                                                                                                                                                                                                                            |
| Yarn构建                                                               | /npmcache                          | 构建命令行输入：yarn config set cache-folder /npmcache                                               | yarn cache clean                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Gradle构建 （仅限使用gradle wrapper版本）    | ./gradle/wrapper                   | 构建命令行输入：cp /cache/android/wrapper/gradle-wrapper.jar ./gradle/wrapper/gradle-wrapper.jar     | rm -rf ./gradle/wrapper/                                                                                                                                                                                                                                                                                                                                                                                                           |
| Android构建 （仅限使用gradle wrapper版本） | ./gradle/wrapper                   | 构建命令行输入：cp /cache/android/wrapper/gradle-wrapper.jar ./gradle/wrapper/gradle-wrapper.jar     | rm -rf ./gradle/wrapper/                                                                                                                                                                                                                                                                                                                                                                                                           |
   
