Ошибка в 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 удалена."
}
}