首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个分支的PHPStan缓存策略

每个分支的PHPStan缓存策略
EN

Stack Overflow用户
提问于 2021-08-05 20:41:25
回答 1查看 39关注 0票数 0

我正在使用Gitlab部署我的代码库。每次,我部署一个分支(实际上是每天多次),我的CI做以下事情(非常简单):

#1使用我的分支机构名称创建一个特定的部署文件夹,并在其中克隆整个项目

代码语言:javascript
复制
branch-1
/data/www/branch-1/....
branch-2
/data/www/branch-2/....

#2运行PHPStan (无覆盖配置)

代码语言:javascript
复制
- cd /data/www/branch-1
- bin/phpstan analyze --level 1 --no-progress

因此,默认情况下,我的缓存文件夹设置为/tmp/phpstan。这个文件夹越来越大。现在,我有一个定期删除文件夹的cron,但它看起来像是一个变通办法……

我是否可以在CI/CD中使用更好的方法来保持合理的/tmp/phpstan文件夹大小,而不会破坏缓存性能?

EN

回答 1

Stack Overflow用户

发布于 2021-08-18 16:17:43

听起来您使用的是shell执行器,因此一种解决方案是使用switch to using the docker executor。Docker执行器将在docker容器中运行所有流水线的作业,当它完成时,容器(以及其中的所有数据)都会被销毁,因此每次运行作业时,它都会重新开始。

第二种选择是在运行bin/phpstan之后清除/tmp/phpstan (除非它会导致其他问题,否则您必须对此进行研究):

代码语言:javascript
复制
- cd /data/www/branch-1
- bin/phpstan analyze --level 1 --no-progress
- rm -r /tmp/phpstan/*

第二种解决方案更简单,但在Docker中运行作业还有许多其他好处,最重要的是,您不需要在Runner进程所在的主机上安装包,而是在使用的Docker映像中安装包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68673263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档