22

Я потратил немало времени на форматирование упомянутого блога с помощью кода, скриншотов и т. Д., Что слишком много для дублирования здесь в Stack Overflow. Это сказало, что я решил, что сообщество захочет помочь на этой арене (я долго искал все это), поэтому я разместил этот вопрос и соответствующий ответ. Если вы все еще считаете, что намерение этого сообщения нечестно, прокомментируйте как таковое, и я удалю его!Как развернуть автоматические сборки в TestFlight из Xcode Bot?

Вопрос заключается в следующем: как мне настроить свой новый Xcode-сервер с помощью Bots для непрерывной интеграции и отправки завершенных сборок моим тестерам через тестовый полет? Для меня это похоже на священный Грааль CI в мире iOS, поэтому я потратил много времени, чтобы понять это.

Процесс включает в себя некоторую ручную работу, которая, похоже, не выполняется должным образом с помощью программного обеспечения сервера XCode в Mavericks, по крайней мере, в начальной версии. Мне потребовалось много времени и даже некоторые сценарии, чтобы понять все это и заставить его работать, и я рад поделиться результатами.

Чтобы добавить значение к этому вопросу, я разместил пост-op-скрипт, который вы должны запустить во время процесса архивации ниже. Ссылка на мой блог приведен ниже, если вам нужна дополнительная информация.

#!/bin/bash 
# 
# (Above line comes out when placing in Xcode scheme) 
# 
# Valid and working as of 10/29/2013 
# Xcode 5.0.1, XCode Server 
# 
API_TOKEN="<Your TesFlight API Token>" 
TEAM_TOKEN="<Your TestFlight Team Token>" 
DISTRIBUTION_LISTS="<Comma separated TestFlight Distribution List Names for auto deploy>" 
PROVISIONING_PROFILE="/Library/Server/Xcode/Data/ProvisioningProfiles/<your file name here>.mobileprovision" 
#EXAMPLE:"/Library/Server/Xcode/Data/ProvisioningProfiles/DocLink_InHouse_2013.mobileprovision" 

SIGNING_IDENTITY="<your provisioning profile name here>" 
#EXAMPLE:"iPhone Distribution: Unwired Revolution, LLC." 

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

IPA="/tmp/${PRODUCT_NAME}.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/" 

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 [email protected]"${IPA}" \ 
-F [email protected]"${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!" 

Надеюсь, что все время, которое я потратил на это, сообщество будет более общительным, чем их больше!

Вот ссылка: http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

+0

Я поговорил с автором о том, чтобы сделать это более «Stack Overflow style». Пожалуйста, не забудьте пометить или предпринять другие действия в течение некоторого времени, чтобы дать ему возможность внести изменения. – Pops

+0

Благодарим вас за повторное добавление. Я надеюсь, что изменения подходят и полезны для всех! – mattv123

ответ

11

Вот ссылка на пост, который обрисовывает в общих чертах, как создать Xcode бот, связанный с 3-го хранилища партии мерзавца, с автоматическим развертыванием строит TestFlight:

http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

Надеюсь, это поможет! Прошу прокомментировать ваши комментарии или отзывы.

+2

Это не обновляется для Xcode 6. –

+0

Ссылка мертва – RaffAl

 Смежные вопросы

  • Нет связанных вопросов^_^