2012-12-20 50 views
14

Tôi đang cố gắng xây dựng dự án Unity với Jenkins trên Mac OS Server. Nhưng khi tôi cố gắng để chạy các kịch bản sau đâyXây dựng dự án Unity với Jenkins không thành công

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

Các kịch bản cho thấy điều này,

_RegisterApplication(), thất bại trong việc thiết lập kết nối mặc định cho WindowServer, _CGSDefaultConnection() là NULL.

Có ai biết cách khắc phục sự cố không?

+0

Bây giờ tôi cố định vấn đề. Tôi đã chuyển Jenkins CI từ '/ Library/LaunchDaemons /' sang '/ Library/LaunchAgents /'. Ngoài ra tôi đã thực hiện jenkins người dùng và cài đặt Unity3D trên người dùng jenkins. Sau đó tiếp tục đăng nhập người dùng jenkins. – morodomi

Trả lời

12

Cố gắng ghi từ Terminal:

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

Sau đó, đăng xuất và đăng nhập lại.

Bây giờ Jenkins sẽ chạy dưới dạng tác nhân và có thể truy cập WindowServer.

+1

Tôi phải khởi động lại máy sau khi thay đổi. Đăng xuất và đăng nhập không đủ. Ngoài ra, tôi không có cấu hình Jenkins để chạy khi khởi động máy, vì vậy tôi phải chạy 'sudo launchctl load/Library/LaunchAgents/org.jenkins-ci.plist' sau khi khởi động lại. –

+0

Cũng đã phải khởi động lại máy, nhưng sau đó nó chỉ hoạt động tốt! cám ơn – d4Rk

-1

Có vẻ như bạn đang thiếu tùy chọn --projectPath trước khi chỉ định đường dẫn dự án của bạn?

+0

Tôi đã thử với tùy chọn --projectPath là Unity -batchmode -quit -projectPath "$ {UNITY_PROJECT_PATH}" -executeMethod BuildScript.DevelopmentBuild. Nhưng sẽ không xây dựng. – morodomi

0

Tôi gặp vấn đề tương tự. Vấn đề là làm thế nào Jenkins và Unity làm việc riêng lẻ. Cách duy nhất tôi có thể tìm thấy một công việc sạch hơn xung quanh là:

  1. Lý tưởng nhất là chủ Jenkins của bạn chỉ làm nhiệm vụ cho nô lệ và không tự xây dựng. Vì vậy, nô lệ của bạn sẽ xây dựng dự án.
  2. Trong trường hợp trên đây không dễ dàng thực hiện được ở đây là giải pháp nhanh:
    • Trên Jenkins master tạo một nô lệ.
    • Thêm nhãn để thực thi dự án Unity của bạn trên nô lệ mới được tạo.
    • Định cấu hình công việc để chạy trên nô lệ chuyên dụng mà bạn đã tạo ở trên.
    • Tất cả hoạt động ngay bây giờ!
4

Đảm bảo bạn có -nographics tham số trong các thông số khởi động của bạn

Các vấn đề liên quan