2016-02-24 12 views
6

私はボットを使ってiOSアプリケーションをアーカイブしています。配布システムに公開するには、.ipa製品のパスを取得する必要があります。Xcode Bot:ポストトリガースクリプトで.ipaパスを取得する方法は?

ボットの設定:

enter image description here

そして、すべてのenv変数を印刷するには、スクリプトを使用して、それらの非はIPAファイルへのパスが含まれています。また、いくつかの変数が存在しないディレクトリ、すなわちを指摘されていますXCS_OUTPUT_DIR

ここENV変数出力:それに加えて

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 

、私は.ipaファイルがあることを確認することができました別のフォルダ(<path to server>/IntegrationAssets/<integration id>/<integration number>/)に作成されていますが、そのパスはenv変数からアクセスできません。

アイデア?

答えて

5

最新のXcode(7.2)+ Serverバージョン(5.0.15)では、多くのリサーチやテストなどが行われた後、正しい環境変数がロードされていないようです。

私の現在のソリューションは、手動で既存のENV変数に基づいてパスを作成することでした。

私はに基づいた
ARCHIVE_PATH="${XCS_ARCHIVE}" 
ARCHIVE_NAME="${ARCHIVE_PATH##*/}" 
IPA_NAME="${ARCHIVE_NAME%.*}.ipa" 
IPA_PATH="${XCS_OUTPUT_DIR}/ExportedProduct/Apps/${IPA_NAME}" 

Continuous integration Xcode Server after trigger $XCS_PRODUCT not set

関連する問題