Mam skrypt powershell, który zostanie uruchomiony w Bamboo, który zaktualizuje status kompilacji Bamboo. Jest to wywoływane w Github, a następnie status będzie aktualizowany niezależnie od kompilacji wywołującej skrypt. Obecnie działa dobrze na komputerze z systemem Windows, ale teraz są kompilacje, które są potrzebne na komputerze Mac.Powershell nie spełnia zadania Bamboo, ponieważ -ExecutionPolicy bypass -Komendny kod powrotu to 134 zamiast 0
Po pierwsze skrypt zwrócił kod błędu -1, ponieważ nie miałem zainstalowanego powershell na komputerze Mac. Teraz, gdy mam zainstalowane PowerShell, otrzymuję następujący błąd:
Failing task since return code of [powershell -ExecutionPolicy bypass -Command /bin/sh /var/folders/c6/T/MAC-CUSAPP-JOB1-14-ScriptBuildTask.ps1] was 134 while expected 0
kodeksu sama w sobie jest dobre dla systemu Windows, jak wszystkie inne kompilacje z wykorzystaniem systemu Windows Agent na bambus z powodzeniem budować zadanie.
& "${bamboo.build.working.directory}\scripts\publish-status.ps1" `
-repoName MyRepo `
-status pending `
-revision ${bamboo.repository.revision.number} `
-buildUrl ${bamboo.buildResultsUrl} `
-description "Bamboo has started a build" `
-context "bamboo-build"
Czy jest to możliwe, aby działało poprawnie na komputerze Mac. Obecnie sprawdziłem, czy maszyna z systemem Windows w wersji Powershell w wersji 5.0.0+, gdy Mac jest Powershell 6.0.0 Alpha byłby to powód, dla którego nie buduje i podając kod błędu 134?
Kiedy ja nawet nie próbował to zrobić:
if (2 -lt 3)
{
Write-Host this is lower
}
else
{
Write-Host this is higher
}
To daje taką samą odpowiedź, nawet jeśli zrobiłem Write-Host cześć byłoby odpowiedzieć kodu powrotu 134.
Nawet przy użyciu prosty skrypt programu Powerhell, który mówi, że return 0 nadal będzie wyświetlał komunikat o błędzie z kodu powrotu będącego liczbą 134. Sprawdziłem także ExecutionPolicy dla maszyny i nie ma ograniczeń dla wszystkiego.
Problemem nie jest też Power Shell na Macu, ponieważ będzie on z powodzeniem działał poprawnie, ale to jak bambus używa skryptu PowerShell na Macu. Czy musisz robić coś innego, gdy używasz skryptu powershell na bambusie podczas korzystania z komputera Mac?
Oto obraz tego, jak uruchomić Bamboo, jest to zadanie skryptu, które jest potrzebne w systemie Windows, ale to nie działa na komputerze Mac. Aktualizacja
dodałem PowerShell jako plik wykonywalny, a następnie wykorzystywane zadanie polecenia nazwać plik powershell, ale to nadal nie działa, każdy pomysł, jeśli to z powodu Bamboo nie wspiera PowerShell na mac jak PowerShell praca na za pomocą wizualnego kodu studyjnego i terminalu na komputerze Mac. Zrobiłem to dwa sposoby tak:
-ExecutionPolicy Bypass -File /Users/dev/Documents/PowreshellScripts/hello.ps1
a także tak:
-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File /Users/dev/Documents/PowreshellScripts/hello.ps1
tylko zawężenie problemu można spróbować uruchomić skrypt na mac zewnątrz z bambusa i zobaczyć, co jest kod powrotu i czy jakieś błędy zostaną wygenerowane podczas biegu? z mojego zrozumienia nie wszystko jest jeszcze zaimplementowane na Macu i może to być problem. –
, którego nie jestem pewien, ale komunikat o błędzie wydaje się wskazywać, że skrypt jest uruchomiony i kończy działanie z kodem błędu 134, czy to błąd, który skrypt skonfigurował do generowania? a jeśli tak, to czy możesz pokazać kod w pobliżu? –
, więc chyba że całkowicie nie rozumiem tego komunikatu o błędzie, coś sprawia, że proces powershell kończy się kodem 134 zamiast 0, i dlatego podejrzewałem, że skrypt ma jakiś krok, w którym mógłby zwrócić ten kod, gdyby coś się nie udało, który mógłby poinformować, jaka część skryptu nie mogła zostać zaimplementowana na mac. jeśli chciałbyś sprawdzić, czy powershell może w ogóle działać na Macu poprzez bambus, spróbuj utworzyć zadanie testowe, które zwraca uwagę, ale 'return 0' i wysyła je do mac, aby sprawdzić czy działa. –