2016-02-24 38 views
6

Bir iOS uygulamasını arşivlemek için bir bot kullanıyorum ve dağıtım sistemimize yayınlamak için .ipa ürün yolunu almam gerekiyor.Xcode Bot: Bir yazı tetikleme komut dosyasında .ipa yolunu nasıl alırsınız?

Bot ayarları:

enter image description here

Ve tüm env değişkenleri yazdırmak için bir komut dosyası kullanarak, bunların sigara ipa dosyasına bir yolu içerir. Buna ek olarak, değişkenlerin bazılarını yok dizine, yani işaret edilmektedir: XCS_OUTPUT_DIR İşte

env değişken çıkışı:

Buna ek olarak
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 

, ben .ipa dosyalar olduğunu teyit başardı Başka bir klasörde (<path to server>/IntegrationAssets/<integration id>/<integration number>/) oluşturuluyor, ancak bu yol bir env değişkeninden erişilemiyor.

Herhangi bir fikrin var mı?

cevap

5

Pek çok araştırma ve testten sonra, en son Xcode (7.2) + Sunucu sürümünde (5.0.15) botların yanlış ortam değişkenleri yüklenmemesi nedeniyle bir sorun olduğu anlaşılıyor. Continuous integration Xcode Server after trigger $XCS_PRODUCT not set

:

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

ben dayalı vermedi Hangi:

Benim şu anki çözüm mevcut env değişkenlere dayalı yolu elle yaratmaktı