XCode 8.0 deployment time (huge file sizes)

AVmcclint
Honored Contributor

Some of my users are requesting XCode 8.0 because some of their development tools are reporting that XCode 7.3.1 is "outdated". I downloaded it the other day from the developer.apple.com site and was shocked (not really) that the file size was over 12GB after decompressing the .xip file. Each subsequent version of XCode keeps getting bigger and bigger. We currently have firewalls in place that block the use of VPP for software deployment and my attempts to get it permitted have fallen on deaf ears so the only way I can get xcode is from the developer site and then package it with Composer. When I worked on 7.3.1, start to finish from the time I started the download from Apple to the time I had a working Policy and script ready took a full 8 hours. That included decompressing the file, copying the app to /Applications, copying it into Composer, creating a pkg, copying it to JSS via Casper Admin, and replicating it to 4 different distribution points. The installation from Self Service over gigabit network speeds takes 30-45 minutes including running the script to take care of the first-launch tasks. It's a helluva lot longer over WiFi and VPN!! I hate to think of how long it's going to take me to make 8.0 available for users and how long it will take them to install it. Other than VPP (which I can't use) does anyone have any ideas for speeding up this process? I hoped to use AppPackager but McAfee continues to identify it as malware and I can't get McAfee to acknowledge my attempts to reach out to them to recognize it as non-malware. AppPackager would have at least saved me some time in the packaging process. Having users login to the App Store to download it directly with their personal accounts is not permitted either.

1 ACCEPTED SOLUTION

RobertHammen
Valued Contributor II

Using the App Store Capture Method, my installer is 4.43 GB. Process, including postinstall script, documented here:

Deploying Xcode 8 via Self Service

I'd strongly recommend using this approach, as you are using the vendor (Apple's) package and not repackaging, potentially introducing permissions or other errors.

View solution in original post

3 REPLIES 3

RobertHammen
Valued Contributor II

Using the App Store Capture Method, my installer is 4.43 GB. Process, including postinstall script, documented here:

Deploying Xcode 8 via Self Service

I'd strongly recommend using this approach, as you are using the vendor (Apple's) package and not repackaging, potentially introducing permissions or other errors.

donmontalvo
Esteemed Contributor III

Thank goodness for HTTP and resumable downloads...never EVER want to give that up.

Cache the installer...then make it available in Self Service...works for all PKGs no matter how big.

The only caveat, resumable downloads has a 5 minute limit, since all other policies have to wait for download to finish. Exceed the 5 minute window, Cache policy fails, so other policies can kick in.

We've had success pushing 10G of PKGs to WFH users, via HTTP over VPN with not-so-great DSL. ;)

Cache > Install Cached > bliss

Don

--
https://donmontalvo.com

AVmcclint
Honored Contributor

@RobertHammen Thanks for the info on the updated deployment script. That solved another problem with the new first-launch installs that were added to v8. I already have the app on my admin Mac so I'll push forward with packaging it up, but I'll try to remember the MacApp Store installer trick for when 8.0.x is released.

@donmontalvo I wish I could use HTTP transfers but that would involve me becoming an IIS expert here and going through all kinds of security red tape to be allowed on our network. I would much rather have Mac servers for all that. :-

I am hoping that xcode 9 will be so large that Apple will be forced to break it up into xcode for iOS & watchOS and then xcode for macOS. I can dream, can't I?