本文主要介绍工作流中构建步骤的缓存机制。Zadig 构建支持工作空间缓存、自定义目录缓存、软件包缓存和镜像缓存。Zadig 的缓存无需配置,完全自动化。使用缓存可以提升工作流构建效率。
系统目前支持对象存储缓存和 PVC 缓存,关于系统缓存配置请参考缓存资源配置。
工作空间缓存
开启构建高级配置中的缓存配置,选中工作空间$WORKSPACE
,工作流执行构建任务时会将本次任务的工作空间(WORKSPACE)缓存到对应的存储介质中。
使用对象存储作为缓存介质时,工作空间的缓存机制:
- 同一工作流,不同服务都有独立的工作空间缓存,互不影响。
- 不同工作流,相同服务都有独立的工作空间缓存,互不影响。
工作空间可能包含以下内容:
- 构建时拉取的代码和依赖
- 构建过程产生的一些临时文件
- 构建产物
某些业务场景下可能不希望使用缓存,或者临时不使用历史缓存进行构建,那么可以通过调整缓存配置达到不使用缓存的目的。
- 如果在构建中长期不使用缓存,可以在
项目
->构建
,选择对应构建脚本,关闭缓存配置
,如下图所示。
- 如果临时不使用历史缓存,可以在启动工作流时,在
高级设置
中,选择不使用工作空间缓存
,如下图所示。
自定义目录缓存
可以按需使用缓存自定义目录
功能,对必要的目录做缓存,如下图所示。
软件包缓存
在 Zadig 系统上执行服务构建以及测试时,一般都需要根据实际业务去安装必要的软件包环境。比如编译后端相关代码就需要 Go 环境、Java 环境等,编译前端代码可能需要 NodeJS 等软件包,具体配置请参阅软件包管理。这些软件包会被缓存在系统内置的对象存储中。