我们的repo使用jest运行测试需要20分钟,可以认为是慢的。现在我想提高运行测试的性能。
目前,我们在gitlab上运行测试,通过运行
stage: test
parallel: 4
script:
- yarn test:ci --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL
字符串
优化后,仍然需要20分钟才能完成任务。所以我考虑,使用jest缓存。
但是,如果使用,我如何定义该高速缓存键呢
cache:
key: '.jest-cache-${CI_COMMIT_REF_SLUG}-${CI_NODE_INDEX}'
型
每个分支都会有4个jest缓存,而且该高速缓存中的很多都是一样的,因为它们的缓存中都包含了转换后的npm包,而该高速缓存会占用很多空间。
你有什么好主意吗
1条答案
按热度按时间2wnc66cl1#
我认为jest缓存可以在所有管道,所有节点之间共享。jest缓存的键可以是
test-cache-$CI_PROJECT_NAME
。所以这个缓存可以在同一个项目中的任何地方使用。策略应该是“pull-push”。字符串