7

Crashlytics như một cocoapod đang phá vỡ cho hệ thống CI của chúng tôi. Về cơ bản chúng tôi có một Rakefile chạy một số nhiệm vụ để thực hiện cập nhật pod, xây dựng ứng dụng của chúng tôi và chạy thử nghiệm, v.v. Tuy nhiên, gần đây chúng tôi đã chuyển sang Fabric & Crashlytics dưới dạng cocoapod. Giờ đây, quá trình xây dựng tự động của chúng tôi không thành công với lỗi sau trong giai đoạn cập nhật nhóm:cocoapods [!] Lỗi cài đặt Crashlytics

[!] Error installing Crashlytics 
[!] /usr/bin/curl -f -L -o /var/folders/fx/hfsy48h13839_jm5wmkp5mx00000gn/T/d20151009-74266-1p34ehf/file.zip https://kit-downloads.fabric.io/ios/com.twitter.crashlytics.ios/3.3.4/com.twitter.crashlytics.ios-default.zip --create-dirs 

    % Total % Received % Xferd Average Speed Time Time  Time Current 

           Dload Upload Total Spent Left Speed 


    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0curl: (6) Could not resolve host: kit-downloads.fabric.io 
Update all pods 
Analyzing dependencies 

Không gian làm việc không được tạo do Crashlytics không cài đặt được. Tôi tin rằng có hai vấn đề xảy ra: 1. Crashlytics pod đang cố gắng tải xuống và ghi vào tệp hệ thống mà nó không có quyền ghi vào khi chạy lệnh đó trong tệp tập lệnh (chúng tôi không muốn chạy tập lệnh với số sudos) 2. Điểm cuối đó thực tế là một chút không ổn định.

Nếu tôi chạy lệnh curl đó theo cách thủ công trong thiết bị đầu cuối, nó sẽ thành công NHẤT trong thời gian và tải xuống tệp. Tuy nhiên, đôi khi lệnh curl thực tế không giải quyết được host. Tuy nhiên, tôi có hai máy ảo có thể chạy lệnh curl đó thành công mà không cần sudo usr/bin/curl/... nhưng một trong các máy ảo của chúng tôi (là bản sao chính xác của máy khác) cần sudo usr/bin/curl. .. để có quyền ghi vào thư mục đó.

Nếu tôi chỉ chạy lệnh curl đó trong Rakefile, tôi nhận được điều này: $ rake Bạn không được phép tạo/var/folders/fx. Vì vậy, một lần nữa, tôi tin rằng vấn đề là cố gắng cập nhật pod từ Rakefile làm cho có một vấn đề cho phép ghi tập tin do Crashlytics cố tải xuống một tệp vào hệ thống/var/thư mục không được phép. Ngoài ra, điểm cuối đó cũng có thể không ổn định và không thể không giải quyết được máy chủ.

Vì vậy, về cơ bản giải pháp thay thế là chạy lệnh curl đó theo cách thủ công trong thiết bị đầu cuối trên máy CI của chúng tôi để nó tải xuống và cài đặt. Giờ đây, bất kỳ cập nhật pod nào trong tương lai đều hoạt động SO LONG NHƯ CHÚNG TÔI TRỞ LẠI TRÊN CÂU CHUYỆN CÙNG NHẠC. Vì vậy, bây giờ, chúng tôi đóng băng cài đặt Crashlytics của chúng tôi trên 3.3.4.

Bất kỳ ai gặp sự cố tương tự, có bất kỳ lời khuyên nào về những gì họ nghĩ đang xảy ra hoặc có đề xuất tốt hơn về cách khắc phục sự cố này?

+1

Hóa ra lệnh curl thay đổi thường xuyên, có thể thường xuyên như từng cập nhật nhóm. Cách giải quyết duy nhất mà chúng tôi có thể tìm thấy là thêm quyền truy cập đọc/ghi vào thư mục/var/folders/fx cho tất cả người dùng xa lý tưởng. ** sudo chmod -R a + rw/var/thư mục/fx/** – n8tr

+0

Là bản cập nhật, chúng tôi đã từ bỏ việc sử dụng các loại Cocoapod và Fabric và Crashlytics và nhập khẩu các khung công tác theo cách thủ công vì chúng tôi tiếp tục chạy vào CC ngẫu nhiên cập nhật các lỗi tương tự như bài đăng gốc. – n8tr

+0

làm cách nào bạn giải quyết vấn đề, tôi thấy trong trang web cocoapod họ cập nhật các cocoapods Crashlytics vào tháng 9 năm 2016 – nivritgupta

Trả lời

2

Giải pháp của tôi là xóa thư mục Pods trong kho lưu trữ (rm -rf Pods). Bằng cách đó tất cả các nhóm đã được gỡ bỏ, thậm chí Crashlytics. Sau đó, một pod install có thể chạy thành công. Bây giờ tôi đã cài đặt Crashlytics 3.8.6.

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