gitlab-runner 在 CI 中损坏,手动工作 - Debian 发布升级出错?
gitlab-runner broken in CI, works manually - Debian release-upgrade at fault?
前段时间,我在 Debian 9 服务器上搭建了一个 gitlab-运行ner。一切都好。 CI 运行 并且 运行 成功。现在,在上次测试 运行 11 个月后,我被指示向项目添加一个功能,我做的第一件事就是重新 运行 旧测试。
他们失败了,在 11 个月内从 "no problem" 变成了 "no worky at all"。我唯一重视的是 Debian 10 的发行版升级。
没有工作 - 运行在 gitlab-运行ner 的服务帐户下本地运行:
/tmp/projektv$ sudo -u gitlab-runner /usr/lib/gitlab-runner/gitlab-runner exec shell run_tests
Runtime platform arch=amd64 os=linux pid=25578 revision=1564076b version=12.4.0
Running with gitlab-runner 12.4.0 (1564076b)
Using Shell executor...
Running on simsrv15...
ERROR: Job failed: exit status 1
FATAL: exit status 1
WebUI 上的自动作业(推送提交时)看起来一样。 gitlab-运行ner 版本 12.0 和 12.3 的结果相同。新注册没有变化。
当 运行 在本地使用我的个人用户帐户时工作:
/tmp/project$ /usr/lib/gitlab-runner/gitlab-runner exec shell run_tests
Runtime platform arch=amd64 os=linux pid=23331 revision=1564076b version=12.4.0
Running with gitlab-runner 12.4.0 (1564076b)
Using Shell executor...
Running on simsrv15...
Fetching changes...
....
OK
System check identified no issues (0 silenced).
Destroying test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Job succeeded
运行 --debug
甚至 strace
的错误工作并没有揭示任何对我来说特别有趣的东西。 https://pastebin.com/8j8eQAHB
运行 来自不同 运行ner 的相同作业,在 Debian 9 系统上新设置,运行完美。
我发现 运行 strace -f
会自动附加到生成的子项上。正如我所看到的,分叉是跑步者最后做的事情之一,我试过了。看看我发现了什么:
[pid 88504] execve("/usr/bin/clear_console", ["/usr/bin/clear_console", "-q"], 0x564cc4bbf1c0 /* 19 vars */) = 0
clear_console
,嗯?有了新知识,google 给了我这个:
https://gitlab.com/gitlab-org/gitlab-runner/issues/4559
有趣的事情:Debian 9 在 .bash_logout
中也有 clear_console
,它不会使运行器崩溃....
前段时间,我在 Debian 9 服务器上搭建了一个 gitlab-运行ner。一切都好。 CI 运行 并且 运行 成功。现在,在上次测试 运行 11 个月后,我被指示向项目添加一个功能,我做的第一件事就是重新 运行 旧测试。
他们失败了,在 11 个月内从 "no problem" 变成了 "no worky at all"。我唯一重视的是 Debian 10 的发行版升级。
没有工作 - 运行在 gitlab-运行ner 的服务帐户下本地运行:
/tmp/projektv$ sudo -u gitlab-runner /usr/lib/gitlab-runner/gitlab-runner exec shell run_tests
Runtime platform arch=amd64 os=linux pid=25578 revision=1564076b version=12.4.0
Running with gitlab-runner 12.4.0 (1564076b)
Using Shell executor...
Running on simsrv15...
ERROR: Job failed: exit status 1
FATAL: exit status 1
WebUI 上的自动作业(推送提交时)看起来一样。 gitlab-运行ner 版本 12.0 和 12.3 的结果相同。新注册没有变化。
当 运行 在本地使用我的个人用户帐户时工作:
/tmp/project$ /usr/lib/gitlab-runner/gitlab-runner exec shell run_tests
Runtime platform arch=amd64 os=linux pid=23331 revision=1564076b version=12.4.0
Running with gitlab-runner 12.4.0 (1564076b)
Using Shell executor...
Running on simsrv15...
Fetching changes...
....
OK
System check identified no issues (0 silenced).
Destroying test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Job succeeded
运行 --debug
甚至 strace
的错误工作并没有揭示任何对我来说特别有趣的东西。 https://pastebin.com/8j8eQAHB
运行 来自不同 运行ner 的相同作业,在 Debian 9 系统上新设置,运行完美。
我发现 运行 strace -f
会自动附加到生成的子项上。正如我所看到的,分叉是跑步者最后做的事情之一,我试过了。看看我发现了什么:
[pid 88504] execve("/usr/bin/clear_console", ["/usr/bin/clear_console", "-q"], 0x564cc4bbf1c0 /* 19 vars */) = 0
clear_console
,嗯?有了新知识,google 给了我这个:
https://gitlab.com/gitlab-org/gitlab-runner/issues/4559
有趣的事情:Debian 9 在 .bash_logout
中也有 clear_console
,它不会使运行器崩溃....