我在 Windows 10 笔记本电脑上设置了一个运行器。工作者类型shell
。在作业的所有步骤中,我们可以看到在终端上使用本地回显执行的底层 gitlab 命令。这里包括“GITLAB_CI_RELEASE_SSH_KEY”等机密。我不想在我的日志中看到这个。它总共超过 1000 行,很难找到重要的输出行。
“从 Git 存储库获取源代码”步骤中的日志摘录(高度截断):
PS C:\jobs> & {
>>
>> $ErrorActionPreference = "Stop"
>> $FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION="false"
>> $env:FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION=$FF_CMD_DISABLE_DELAYED_ERROR_LEVEL_EXPANSION
>> $FF_NETWORK_PER_BUILD="false"
>> $env:FF_NETWORK_PER_BUILD=$FF_NETWORK_PER_BUILD
>> $FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY="false"
>> $env:FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY=$FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY
>> $FF_USE_DIRECT_DOWNLOAD="true"
>> $env:FF_USE_DIRECT_DOWNLOAD=$FF_USE_DIRECT_DOWNLOAD
编辑:Gitlab 正在寻找pwsh
所以我创建了这个pwsh.cmd
来启动 powershell:powershell.exe -NoExit -Command C:\myproj\powershell_init_gitlab_worker.ps1
答案1
我的问题是 Gitlab 正在寻找。正确的解决方案pwsh
是更改为[[runners]]
config.toml
shell = "powershell"
pwsh.cmd
相反,我通过以不正确的方式提供启动的 Powershell 来完成故障解决方法(参见更新的问题)。
我会把这个答案留在这里,以防别人犯和我一样愚蠢的错误