事件的典型顺序:
新作业失败,因为前一个作业的命令仍在创建文件。这会导致错误消息,例如
警告:无法删除/ some / path:目录不为空
来自git clean
。
不起作用的东西:
before_script
在git clean
之后运行,所以我无法清理那里的状态。after_script
不能保证运行相同的CI运行器,所以我不能用它来清理状态。技术上可行的东西
|| {first cleanup command; second cleanup command; …}
。答案 0 :(得分:1)
在GitLab项目的CI / CD设置中,有一个选项git clone
而不是git fetch
来获取最新的代码。因为这样可能会rm
完整地处理麻烦的目录,所以它应该可以工作。对于一个大型项目而言,这将非常慢,但是在这种情况下,源代码树只有几MB。
它有效,但是我会奖励任何以更优雅的方式解决此问题的人。