2013-02-06 29 views
6

Tôi đang cố gắng để làm theo hướng dẫn tại đây để chạy Grails tôi xây dựng trên dịch vụ Jenkins của Cloudbees:Làm thế nào để thêm Grails vào đám mây của tôi cài đặt Jenkins?

http://wiki.cloudbees.com/bin/view/DEV/Build+and+Deploy+Grails+application

Tuy nhiên, khi tôi cố gắng chọn một cài đặt Grails cho xây dựng công việc của tôi từ "Grails lắp đặt", danh sách thả xuống là trống rỗng ngoại trừ 'Default' tùy chọn:

enter image description here

Khi tôi chạy build của tôi, tôi nhận được thông báo lỗi sau khi mặc dù không có Grials trường hợp cài đặt:

java.io.IOException: Cannot run program "grails" (in directory "/scratch/jenkins/workspace/liza"): java.io.IOException: error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) 
    at hudson.Proc$LocalProc.<init>(Proc.java:244) 
    at hudson.Proc$LocalProc.<init>(Proc.java:216) 
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:709) 
    at hudson.Launcher$ProcStarter.start(Launcher.java:338) 
    at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:934) 
    at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:901) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
    at hudson.remoting.Request$2.run(Request.java:326) 
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:65) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) 
    ... 15 more 

Tôi có làm gì sai không? Tôi có cần cài đặt Grails bằng cách nào đó không?

Tôi đã thử kiểm tra "Sử dụng Grails wrapper" checkbox nhưng tôi vẫn nhận được một vấn đề tương tự:

[liza] $ /scratch/jenkins/workspace/liza/grailsw upgrade --non-interactive 
FATAL: command execution failed 
java.io.IOException: Cannot run program "/scratch/jenkins/workspace/liza/grailsw" (in directory "/scratch/jenkins/workspace/liza"): java.io.IOException: error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) 

Trả lời

3

Nếu bạn truy cập /configure trên máy chủ Jenkins của mình, bạn sẽ thấy danh sách cài đặt Grails. Nếu nó trống, bạn có thể thêm một; chọn Sử dụng Grails được cài đặt sẵn trên DEV @ Cloud và chọn một trong các phiên bản được cung cấp nếu chúng phù hợp với nhu cầu của bạn; hoặc bạn có thể chọn Cài đặt tự động và tải xuống bản dựng gần đây từ máy nhân bản công cộng.

Nếu những điều này không hoạt động, bạn luôn có thể mở một vé hỗ trợ; tham khảo câu hỏi SO này trong trường hợp có giải pháp có thể giúp người khác.

+0

Cảm ơn, điều đó đã hiệu quả! :) –

4

"Sử dụng Grails wrapper" sẽ giúp bạn ở đây (giả sử bạn đang sử dụng Grails 2.1 hoặc mới hơn). Trong ứng dụng của bạn chạy

grails wrapper 

This will create a grailsw shell script và một vài bit và miếng trong ứng dụng của bạn mà bạn cần phải kiểm tra trong khác. Kịch bản wrapper này có thể được sử dụng thay cho một cài đặt grails và nó sẽ tải về bản sao riêng của Grails lần đầu tiên nó được chạy. Nếu bạn yêu cầu Jenkins "sử dụng grails wrapper" thì nó sẽ không yêu cầu cài đặt riêng Grails trên máy chủ build.

+0

Tôi đã thử nhưng tôi vẫn nhận được cùng một loại lỗi: java.io.IOException: Không thể chạy chương trình "/ scratch/jenkins/workspace/liza/grailsw" –

+0

Tôi sẽ cập nhật mô tả câu hỏi. –

+1

@RicardoGladwell Bạn chắc chắn đã kiểm tra tập lệnh 'grailsw' và thư mục' wrapper' mà 'grails wrapper' đã tạo ra chưa? –

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