
Ich habe einen Runner auf einem Windows 10-Laptop eingerichtet. Worker-Typ shell
. In allen Schritten des Jobs können wir sehen, wie Gitlab-Befehle im Hintergrund mit lokalem Echo auf dem Terminal ausgeführt werden. Dazu gehören Geheimnisse wie „GITLAB_CI_RELEASE_SSH_KEY“. Ich möchte das nicht in meinem Protokoll haben. Es umfasst insgesamt über 1000 Zeilen und erschwert das Auffinden der wichtigen Ausgabezeilen.
Log-Auszug (stark gekürzt) aus dem Schritt „Quelle aus Git-Repository abrufen“:
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
bearbeiten: Gitlab sucht danach, pwsh
also habe ich dies erstellt, pwsh.cmd
um Powershell zu starten:powershell.exe -NoExit -Command C:\myproj\powershell_init_gitlab_worker.ps1
Antwort1
Mein Problem war, dass Gitlab nach suchte . Die richtige Lösung bestand darin, im Abschnitt von pwsh
die folgende Zeile zu ändern[[runners]]
config.toml
shell = "powershell"
Stattdessen habe ich einen Fehler-Workaround durchgeführt, indem ich dafür gesorgt habe, pwsh.cmd
dass Powershell auf falsche Weise gestartet wird (siehe aktualisierte Frage).
Ich werde diese Antwort hier hinterlassen, für den Fall, dass jemand anders denselben dummen Fehler macht wie ich