2012-12-20 22 views
14

Próbuję zbudować projekt Unity z Jenkinsem na Mac OS Server. Ale gdy próbuję uruchomić następujący skryptUtworzenie projektu Unity z Jenkinsem nie powiodło się

/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode ${PROJECT_PATH} -executeMethod BuildScript.DevelopmentBuild 

Skrypt pokazuje to,

_RegisterApplication(), nie udało się ustalić domyślne połączenie z WindowServer, _CGSDefaultConnection() jest NULL.

Czy ktoś wie, jak rozwiązać problem?

+0

Teraz problem został rozwiązany. Przeniosłem Jenkins CI z '/ Library/LaunchDaemons /' na '/ Library/LaunchAgents /'. Zrobiłem też użytkownika jenkins i zainstalowałem Unity3D na użytkowniku jenkins. Następnie loguj się do użytkownika Jenkins. – morodomi

Odpowiedz

12

Spróbuj zapisu z Terminalu:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist 
sudo mv /Library/LaunchDaemons/org.jenkins-ci.plist /Library/LaunchAgents/org.jenkins-ci.plist 

Następnie wylogować i zalogować ponownie.

Teraz Jenkins będzie działać jako agent i może uzyskać dostęp do WindowServer.

+1

Po tej zmianie musiałem zrestartować komputer. Wylogowanie i zalogowanie się nie wystarczało. Poza tym nie mam skonfigurowanego Jenkena do uruchamiania podczas uruchamiania komputera, więc po ponownym uruchomieniu musiałem uruchomić 'sudo launchctl load/Library/LaunchAgents/org.jenkins-ci.plist'. –

+0

Musiałem również ponownie uruchomić maszynę, ale po tym po prostu działało dobrze! dzięki – d4Rk

-1

Wygląda na to, że brakuje opcji --projectPath przed określeniem ścieżki projektu?

+0

Próbowałem z opcją --projectPath jako Unity -batchmode -quit -projectPath "$ {UNITY_PROJECT_PATH}" -executeMethod BuildScript.DevelopmentBuild. Ale nie zbuduje. – morodomi

0

Miałem ten sam problem. Problem polega na tym, że Jenkins i Unity działają indywidualnie. Jedynym sposobem udało mi się znaleźć pracę wokół było czystsze:

  1. Idealnie mieć swojego pana Jenkinsa tylko zrobić przypisania do niewolnika i nie budować niczego sobie. Więc twoi niewolnicy zbudują projekt.
  2. W przypadku powyżej, nie jest łatwo wykonalne o to szybkie obejście:
    • Na pana Jenkins stworzenia niewolnika.
    • Dodaj etykietę, aby wykonać projekt Unity na nowo utworzonym slave.
    • Skonfiguruj zadanie do uruchomienia na dedykowanym urządzeniu slave, które zostało utworzone powyżej.
    • Wszystkie prace już teraz!
4

Upewnij się, że parametr -nographics wśród swoich parametrów startowych

Powiązane problemy