我正在使用Gitlab部署我的代码库。每次,我部署一个分支(实际上是每天多次),我的CI做以下事情(非常简单):
#1使用我的分支机构名称创建一个特定的部署文件夹,并在其中克隆整个项目
branch-1
/data/www/branch-1/....
branch-2
/data/www/branch-2/....#2运行PHPStan (无覆盖配置)
- cd /data/www/branch-1
- bin/phpstan analyze --level 1 --no-progress因此,默认情况下,我的缓存文件夹设置为/tmp/phpstan。这个文件夹越来越大。现在,我有一个定期删除文件夹的cron,但它看起来像是一个变通办法……
我是否可以在CI/CD中使用更好的方法来保持合理的/tmp/phpstan文件夹大小,而不会破坏缓存性能?
发布于 2021-08-18 16:17:43
听起来您使用的是shell执行器,因此一种解决方案是使用switch to using the docker executor。Docker执行器将在docker容器中运行所有流水线的作业,当它完成时,容器(以及其中的所有数据)都会被销毁,因此每次运行作业时,它都会重新开始。
第二种选择是在运行bin/phpstan之后清除/tmp/phpstan (除非它会导致其他问题,否则您必须对此进行研究):
- cd /data/www/branch-1
- bin/phpstan analyze --level 1 --no-progress
- rm -r /tmp/phpstan/*第二种解决方案更简单,但在Docker中运行作业还有许多其他好处,最重要的是,您不需要在Runner进程所在的主机上安装包,而是在使用的Docker映像中安装包。
https://stackoverflow.com/questions/68673263
复制相似问题