0

要するに、私は: Mac mini を購入し、OS X Server でセットアップし、私の git ハブ リポジトリに接続し、コミット時にアーカイブしてテスト フライト API にアップロードするボットを作成しました (テストのためだけに)。

ポスト アクション アーカイブ スクリプトで実際に作成されたアーカイブを取得することはできますが、テスト フライトにアップロードすることはできません。私の問題はタイミングにあり、プロセスを把握していません。

SO と Google で見つかった多くのスクリプトを使用しましたが、どれも Xcode 6 と Server 4 に対応していないようです。動作させるには、いくつかのパスを変更する必要がありました。

基本的に、新しい IPA をテスト フライトにアップロードしたいときに、新しい IPA へのパスを取得できません。パスは、スクリプトの実行が終了するまで存在しないようです。私がこれを考える唯一の理由は、統合ログで、スクリプトが完了し、テスト飛行へのアップロードに失敗したことを示しているためですが、ログの最後に出力されるためです。

「/var/folders/5t/5vbf87x514l3ql2mpfqthgt8000086/T/C437286E-F5F4-4AF7-8F74-58312D095B42-87064-00004C27156D38DE/ServerTest.ipa」での結果

エクスポートされた製品を '/Library/Developer/XcodeServer/Integrations/Integration-9279f091e32c0f0299d526e76e1c6b27/ServerTest Bot.ipa' に移動しています ** エクスポートは成功しました **

だから私はそのパスを取得する方法を知っていますが、そのパスは私がすでに必要とするまで存在しないようです.

何かご意見は?

更新: また、このスクリプトを使用してみました。まったく同じ問題 アプリケーションのアーカイブに自動 Testflight アップロード スクリプトはありますか?

TEAM_TOKEN="XXX"
DISTRIBUTION_LISTS="XXX"
PROVISIONING_PROFILE="/Library/Developer/XcodeServer/ProvisioningProfiles/XXX.mobileprovision"

SIGNING_IDENTITY="iPhone Distribution: XXX"

# DO NOT EDIT BELOW HERE!
########################################
DSYM="/tmp/Archive.xcarchive/dSYMs/${PRODUCT_NAME}.app.dSYM"

#IPA="/tmp/${PRODUCT_NAME}.ipa"
IPA="${XCS_OUTPUT_DIR}/${PRODUCT_NAME} Bot.ipa"

APP="/tmp/Archive.xcarchive/Products/Applications/${PRODUCT_NAME}.app"

# Clear out any old copies of the Archive
echo "Removing old Archive files from /tmp...";
/bin/rm -rf /tmp/Archive.xcarchive*

#Copy over the latest build the bot just created
echo "Copying latest Archive to /tmp/...";
#LATESTBUILD=$(ls -1rt /Library/Server/Xcode/Data/BotRuns | tail -1)
#bin/cp -Rp "/Library/Server/Xcode/Data/BotRuns/${LATESTBUILD}/output/Archive.xcarchive" "/tmp/"

/bin/cp -Rp "${XCS_OUTPUT_DIR}/Archive.xcarchive" "/tmp/"

echo "Creating .ipa for ${PRODUCT_NAME}"
/bin/rm "${IPA}"
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "${IPA}" --sign             "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"

echo "Done with IPA creation."

echo "Zipping .dSYM for ${PRODUCT_NAME}"
/bin/rm "${DSYM}.zip"
/usr/bin/zip -r "${DSYM}.zip" "${DSYM}"

echo "Created .dSYM for ${PRODUCT_NAME}"

echo "*** Uploading ${PRODUCT_NAME} to TestFlight ***"
/usr/bin/curl "http://testflightapp.com/api/builds.json" \
-F file=@"${IPA}" \
-F dsym=@"${DSYM}.zip" \
-F api_token="${API_TOKEN}" \
-F team_token="${TEAM_TOKEN}" \
-F distribution_lists="${DISTRIBUTION_LISTS}" \
-F notes="Build uploaded automatically from Xcode Server Bot."

echo "TestFlight upload finished!"
4

0 に答える 0