2016-02-24 18 views
6

Tôi đang sử dụng bot để lưu trữ ứng dụng iOS và tôi cần có đường dẫn sản phẩm .ipa để xuất bản nó vào hệ thống phân phối của chúng tôi.Xcode Bot: cách nhận đường dẫn .ipa trên tập lệnh kích hoạt bài đăng?

thiết lập Bot:

enter image description here

Và sử dụng một kịch bản để in tất cả các biến env, phi trong số họ có chứa một đường dẫn đến file ipa. Bên cạnh đó, một số các biến được chỉ vào thư mục đó không tồn tại, ví dụ: XCS_OUTPUT_DIR

Ở đây env biến đầu ra:

XCS=1 
XCS_ANALYZER_WARNING_CHANGE=-31 
XCS_ANALYZER_WARNING_COUNT=0 
XCS_ARCHIVE=/Library/Developer/XcodeServer/Integrations/Integration-771867708dfac45bba10a1998c118912/MyApp.xcarchive 
XCS_BOT_ID=771867708dfac45bba10a1998c007d43 
XCS_BOT_NAME='MyApp Distribution' 
XCS_BOT_TINY_ID=DBB85BD 
XCS_DERIVED_DATA_DIR=/Library/Developer/XcodeServer/Integrations/Caches/771867708dfac45bba10a1998c007d43/DerivedData 
XCS_ERROR_CHANGE=-1 
XCS_ERROR_COUNT=0 
XCS_INTEGRATION_ID=771867708dfac45bba10a1998c118912 
XCS_INTEGRATION_NUMBER=19 
XCS_INTEGRATION_RESULT=warnings 
XCS_INTEGRATION_TINY_ID=F7D4469 
XCS_OUTPUT_DIR=/Library/Developer/XcodeServer/Integrations/Integration-771867708dfac45bba10a1998c118912 
XCS_SOURCE_DIR=/Library/Developer/XcodeServer/Integrations/Caches/771867708dfac45bba10a1998c007d43/Source 
XCS_TESTS_CHANGE=0 
XCS_TESTS_COUNT=0 
XCS_TEST_FAILURE_CHANGE=0 
XCS_TEST_FAILURE_COUNT=0 
XCS_WARNING_CHANGE=0 
XCS_WARNING_COUNT=26 
XCS_XCODEBUILD_LOG=/Library/Developer/XcodeServer/Integrations/Integration-771867708dfac45bba10a1998c118912/xcodebuild.log 
XPC_FLAGS=0x0 
XPC_SERVICE_NAME=com.apple.xcsbuildd 

Bên cạnh đó, tôi đã có thể xác nhận rằng .ipa file là được tạo trong một thư mục khác (<path to server>/IntegrationAssets/<integration id>/<integration number>/), nhưng đường dẫn đó không thể truy cập từ biến env.

Bất kỳ ý tưởng nào?

Trả lời

5

Vâng, sau rất nhiều nghiên cứu và thử nghiệm và tất cả, dường như có điều gì đó sai với bot trong phiên bản Xcode (7.2) + Server mới nhất (5.0.15) không tải các biến môi trường chính xác.

giải pháp hiện tại của tôi là tạo ra những con đường bằng tay dựa trên các biến env hiện:

ARCHIVE_PATH="${XCS_ARCHIVE}" 
ARCHIVE_NAME="${ARCHIVE_PATH##*/}" 
IPA_NAME="${ARCHIVE_NAME%.*}.ipa" 
IPA_PATH="${XCS_OUTPUT_DIR}/ExportedProduct/Apps/${IPA_NAME}" 

Mà tôi đã dựa trên: Continuous integration Xcode Server after trigger $XCS_PRODUCT not set

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