Ошибка в GitLab: 'ERROR: Job failed: exit status 1'

Я пишу yaml-файл, и мне нужно удалить некоторые процессы в конце пайплайна. Для этого я добавил джобу cleanup, но проблема в том, что при запуске в гитлабе я получаю ошибку:

'ERROR: Job failed: exit status 1'

Подскажите, в чём может быть ошибка?

   .cleanup:
  script:
    - echo "Останавливаем chrome.exe и java.exe"
    - |
      powershell -Command '
        try {
          Get-Process -Name chromedriver, java -ErrorAction SilentlyContinue | ForEach-Object { 
            Stop-Process -InputObject $_ -Force -ErrorAction SilentlyContinue
            Write-Output 'Процесс $($_.ProcessName) завершен.'
          }
        }
        catch {
          Write-Output 'Не удалось остановить все процессы.'
        }'
  tags:
    - rent-dev-win

Ответы (2 шт):

Автор решения: Fox Fox

В PowerShell оператор ||, используемый в других языках программирования для логического ИЛИ, заменяется на -or. Например, вместо:

if ($a -eq 1 || $b -eq 2) {
    # Действия
}

используете:

if ($a -eq 1 -or $b -eq 2) {
    # Действия
}
→ Ссылка
Автор решения: AD NOTAM
$projectDir = $env:CI_PROJECT_DIR
    echo $projectDir
    if (Test-Path $projectDir) {
        Get-Process | ForEach-Object {
            $process = $_
            $process.Modules | ForEach-Object {
                $module = $_
                if ($module.FileName -like "$projectDir\*") {
                    Write-Output "Завершение процесса с именем: $($process.Name)"
                    $processId = $process.Id
                    Write-Output "Завершение процесса с ID: $processId"
                    taskkill /F /PID $processId
                }
            }
        }

        Write-Output 'Попытка удаления папки...'
        Remove-Item -Path $projectDir -Recurse -Force -ErrorAction SilentlyContinue

        if (Test-Path $projectDir) {
            Write-Output "Не удалось удалить папку $projectDir."
        } else {
            Write-Output "Папка $projectDir удалена."
        }
    }
→ Ссылка