关于 Hexo 博客,为了便于维护,我把主题放在了单独的仓库中,然后作为 submodule 引入主仓库。
但是这么做的话 CI 的缓存功能会遇到问题。我之前是单独缓存 themes 下的 node_modules 文件夹,CI 一开始运行时会先把缓存下载到对应目录,接下来 git 初始化 submodule 的时候会发现对应目录不为空,于是失败了。
我的解决方法是缓存整个主题文件夹。不过这么做还会遇到问题,因为 git submodule 的 .git 数据会放在主仓库中,导致 git 初始化 submodule 的时候找不到相关文件。所以最后再缓存一下 .git/modules 即可。
但是这么做的话 CI 的缓存功能会遇到问题。我之前是单独缓存 themes 下的 node_modules 文件夹,CI 一开始运行时会先把缓存下载到对应目录,接下来 git 初始化 submodule 的时候会发现对应目录不为空,于是失败了。
我的解决方法是缓存整个主题文件夹。不过这么做还会遇到问题,因为 git submodule 的 .git 数据会放在主仓库中,导致 git 初始化 submodule 的时候找不到相关文件。所以最后再缓存一下 .git/modules 即可。