gitlab - 强制重新运行失败的 Gitlab 测试或禁用测试缓存
问题描述
我正在使用 Gitlab 并使用以下测试描述:
ldap:
stage: test
script:
- cd ZEDAT-HPC-LDAP
- ls -la /usr/share/perl5/Test
- prove -l t
tags:
- perl
该测试最初失败是因为测试使用的标准 Perl 库没有安装在 Gitlab 服务器上。在我安装了缺少的库之后,测试仍然失败,并且ls
测试中显示了文件系统的旧状态。显然测试没有重新运行,并且显示了测试结果的缓存版本。
问题似乎是安装缺少的库不会改变存储库中的任何内容,因此 Gitlab 似乎认为不重新运行测试是可以的。date
在测试通过后,我修改了测试ls
。
那么如何强制运行测试,或者如何禁用缓存机制?
[更新]
测试的输出是
Skipping Git submodules setup
$ date
Fri Nov 22 11:51:33 CET 2019
$ cd ZEDAT-HPC-LDAP
$ ls -la /usr/share/perl5/Test
total 24
drwxr-xr-x 4 root root 4096 Apr 23 2018 .
drwxr-xr-x 49 root root 4096 Jun 21 06:09 ..
drwxr-xr-x 3 root root 4096 Apr 23 2018 Perl
drwxr-xr-x 2 root root 4096 Apr 23 2018 Pod
-rw-r--r-- 1 root root 7533 Jul 4 2015 Pod.pm
gitlab-runner
而以我得到的用户身份登录服务器
gitlab-runner@sc-git:~$ date
Fri Nov 22 12:55:53 CET 2019
gitlab-runner@sc-git:~$ ls -la /usr/share/perl5/Test/
total 68
drwxr-xr-x 6 root root 4096 Nov 21 09:53 .
drwxr-xr-x 54 root root 4096 Nov 21 09:53 ..
-rw-r--r-- 1 root root 11301 Dec 10 2014 Fatal.pm
drwxr-xr-x 2 root root 4096 Nov 21 09:53 MockObject
-rw-r--r-- 1 root root 23464 Dec 3 2016 MockObject.pm
drwxr-xr-x 3 root root 4096 May 31 2018 Net
drwxr-xr-x 3 root root 4096 Apr 23 2018 Perl
drwxr-xr-x 2 root root 4096 Apr 23 2018 Pod
-rw-r--r-- 1 root root 7533 Jul 4 2015 Pod.pm
这个怎么可能?
解决方案
推荐阅读
- vue.js - 在 Vue 中捕获计算属性中的错误
- macos - imagemagick:-gravity SouthEast -geometry offset 不起作用
- c++14 - 如何用“(*)”重写“node->left->key”替换->。在 C++ 中?
- ruby-on-rails - 如何在 Rails 上通过 Facebook 登录接管以前的 URL?
- dependency-injection - DI参数到没有控制器的类库
- ruby-on-rails - 带有字符串的 Ruby on Rails 控制器顺序
- vue.js - 在 index.vue 中出现错误“迭代中的元素期望有 'v-bind:key' 指令 vue/require-v-for-key”
- html - 可以在没有 javascript 的情况下从 json 输出中获取值吗?
- android - 如何通过Android flexboxlayout控制每行中的项目数?
- javascript - 如何访问 JQUERY 中不同 js 文件中的函数?