Question: How can I upload an IPA to itunesconnect from a Bot running on Xcode 7 and Server 4.1 using Deliver?
I've been able to set up a continuous integration solution in with Xcode 6.4, Server 4.1 using bots, and Deliver (by fastlane). Once I upgraded to Xcode 7 beta-3, my Bots stopped working.
Here is a brief outline of what I did for Xcode 6.4:
- Select "Perform Archive Action" in Bot Setting
- From post trigger: echo
gem install --user-install deliver
#Run To Install Gem - From post trigger: echo
export PATH=$PATH:/var/_xcsbuildd/.gem/ruby/2.0.0/bin
#Run to Add Gems to Path From post trigger:
echo `DELIVER_PASSWORD="Password" /var/_xcsbuildd/.gem/ruby/2.0.0/bin/deliver testflight "${IPA_PATH}" -a 101233338 -u example@gmail.com --beta`
Everything worked great and a build was uploaded to itunesconnect after every integration.
When I upgraded to Xcode 7, I was no longer able to upload to itunesconnect with Deliver. Here is my Xcode 7 workflow:
- Tests Pass
- Archive successful
Post trigger 1: Build IPA Successfully (Using recommendation from this apple developer post)
xcrun xcodebuild -exportArchive -archivePath $XCS_ARCHIVE -exportPath $XCS_ARCHIVE -exportOptionsPlist /Library/Developer/XcodeServer/ExportOptions.plist -IDEPostProgressNotifications=YES -DVTAllowServerCertificates=YES -DVTSigningCertificateSourceLogLevel=3 -DVTSigningCertificateManagerLogLevel=3 -DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles
Attempt to upload IPA with Deliver:
echo `DELIVER_PASSWORD="Password" /var/_xcsbuildd/.gem/ruby/2.0.0/bin/deliver testflight "${IPA_PATH}" -a 101233338 -u example@gmail.com --beta`
Result:
Build Service Issues: Terminated xcodebuild since it produced no output for too long.
Note: I am able to take the IPA's produced by the bot and upload them via the terminal.
Update
Xcode wasn't printing out all the logs, when I redirected the output into a file it looks like Deliver ran just fine
ESC[37m[12:03:08]: ESC[0mESC[32mReady to upload new build to TestFlight (CiTest - 1018099468)ESC[0m
ESC[37m[12:03:08]: ESC[0mUploading ipa file to iTunesConnect
ESC[37m[12:03:08]: ESC[0mGoing to upload updated app to iTunesConnect
ESC[37m[12:03:08]: ESC[0mESC[32mThis might take a few minutes, please don't interrupt the scriptESC[0m
ESC[37m[12:03:08]: ESC[0mESC[32mWaiting for iTunes Connect transporter to be finished.ESC[0m
ESC[37m[12:03:08]: ESC[0mESC[32miTunes Transporter progress... this might take a few minutes...ESC[0m
It's just that the xcode server escapes the process before deliver completes.
Follow-up: Has anyone else experienced this or a similar issue?