2015-05-18 25 views
6

Tôi đang cố gắng thiết lập công việc Jenkins để xây dựng ứng dụng Android lớn tiếp theo! Tôi đã cài đặt Android SDK và phần đó dường như hoạt động tốt. Tôi đã có Gradle Plugin v1.24 cài đặt trên Jenkins và bây giờ tôi nghĩ rằng tôi đang cố gắng tìm ra cách để có được Gradle thực sự làm việc.Công việc Jenkins sử dụng Gradle không thể tìm thấy thực thi

Nỗ lực đầu tiên là phải tải xuống một phiên bản cụ thể của Jenkins từ gradle.org. Tôi đang cố gắng để kéo v2.2.1 bởi vì đó dường như là phiên bản ứng dụng Android của tôi xây dựng với cục bộ. Khi tôi làm điều đó tôi nhận được lỗi này trong công việc Jenkins của tôi:

[Gradle] - Launching build. 
Invalid tool ID 2.2.1 
[Gradle] - [ERROR] Can't retrieve the Gradle executable. 
Build step 'Invoke Gradle script' marked build as failure 

Tôi đã thử nhiều phiên bản khác nhau nhưng không thể làm việc đó. Vì vậy, tiếp theo là để cho Jenkins biết nơi để tải Gradle từ. Tôi đã cho nó vị trí này:

https://services.gradle.org/distributions/gradle-2.2.1-bin.zip 

Tôi gặp lỗi khác khi xây dựng nhưng vẫn không chắc chắn phải làm gì.

[Gradle] - Launching build. 
[Journeyman-Android] $ gradle clean build 
FATAL: command execution failed 
java.io.IOException: Cannot run program "gradle" (in directory "/var/lib/jenkins/workspace/Journeyman-Android"): error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) 
at hudson.Proc$LocalProc.<init>(Proc.java:244) 
at hudson.Proc$LocalProc.<init>(Proc.java:216) 
at hudson.Launcher$LocalLauncher.launch(Launcher.java:816) 
at hudson.Launcher$ProcStarter.start(Launcher.java:382) 
at hudson.Launcher$ProcStarter.join(Launcher.java:389) 
at hudson.plugins.gradle.Gradle.performTask(Gradle.java:262) 
at hudson.plugins.gradle.Gradle.perform(Gradle.java:116) 
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) 
at hudson.model.Build$BuildExecution.build(Build.java:205) 
at hudson.model.Build$BuildExecution.doRun(Build.java:162) 
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537) 
at hudson.model.Run.execute(Run.java:1744) 
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
at hudson.model.ResourceController.execute(ResourceController.java:98) 
at hudson.model.Executor.run(Executor.java:374) 
Caused by: java.io.IOException: error=2, No such file or directory 
at java.lang.UNIXProcess.forkAndExec(Native Method) 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:186) 
at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) 
... 16 more 
Build step 'Invoke Gradle script' changed build result to FAILURE 

Tôi đã cố gắng xem những gì tôi có thể làm với CLI của Jenkins nhưng điều đó cũng không thành công đối với tôi. Chúng tôi sử dụng Jenkins để xây dựng/triển khai một số dự án khác thành công vì vậy đây là cài đặt Jenkins đang hoạt động.

Có ai có bất kỳ gợi ý hay gợi ý nào về những gì tôi có thể cần phải làm không?

Cập nhật (vẫn thất bại)

tôi có thể xây dựng ứng dụng của tôi bằng tay nhưng điều hướng đến thư mục gốc của dự án của tôi trong không gian làm việc Jenkins và thực hiện

./gradlew assemble 

Trả lời

5

Cuối cùng figured it out. Tôi cần cập nhật công việc jenkins của mình để sử dụng số Gradle wrapper thay vì phiên bản Gradle cụ thể. Một khi tôi đã làm điều đó tôi đã có một vài lỗi hơn để sàng lọc thông qua nhưng họ đều rất thông tin và đã cho tôi những thông tin tôi cần thiết để giải quyết chúng.

3

Tôi đã tải xuống Gradle. Trích xuất một số địa điểm.

Trong Jenins> Quản lý Jenkins> Gradle

Bỏ chọn cài đặt tự động.

Đặt đường dẫn về nhà ưu tiên, (Ví dụ: C: \ Graddle \ gradle-2.1).

Probelm được giải quyết.

2

Đối Jenkins chạy trên linux:

  1. tập tin tải về gradle zip

    cd/opt/

    wget https://services.gradle.org/distributions/gradle-2.10-all.zip

  2. giải nén

    giải nén gradle-2.10- tất cả các.nén

  3. lần Jenkins website

    Jenkins> Manage Jenkins> Configure System> Gradle> cài đặt Gradle

    bỏ chọn Install tự động, thiết lập 2,10 đến tên, thiết lập /opt/gradle-2.10 để GRADLE_HOME.

  4. bấm công việc của bạn

    Configure> Xây dựng> Gọi Gradle kịch bản

    chọn Invoke Gradle, chọn 2.10 trong danh sách thả xuống Gradle Version.

+0

Nếu bạn thêm 'tác vụ đóng gói gradle' vào tệp xây dựng gradle của bạn, nó sẽ làm giảm bớt nỗi đau của việc tải xuống thủ công, nhiệm vụ của trình bao bọc sẽ thực hiện [bài đăng liên quan] (http://stackoverflow.com/a/9394451/452708) – Abhijeet

1

Nếu trước đây một cấu hình xây dựng với Invoke Gradle script tùy chọn và chọn một cụ Gradle Version (nói 2.4 chẳng hạn), ông bắt đầu xây dựng nhưng sau đó chuyển sang Use Gradle Wrapper tùy chọn mà không cần thiết lập lại giá trị Gradle Version trở lại Default. Jenkins sẽ phát hành

[Gradle] - [ERROR] Không thể truy xuất tệp Gradle.

Đây là lỗi của jenkins được ghi trong tài liệu này post.

Giải pháp thay thế là đặt lại Gradle Version thành Default trước khi chuyển sang Use Gradle Wrapper.

0

Điều này sẽ giúp bạn loại bỏ vấn đề cụ không hợp lệ:

Quản lý Jenkins -> Manage Plugins -> Advanced: Nhấp vào "Check Now" nút ở phía dưới/bên phải của trang.

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