iOS Build Infrastructure at Square
-
Upload
michael-tauraso -
Category
Software
-
view
392 -
download
0
Transcript of iOS Build Infrastructure at Square
iOS Build + Test Infrastructure MICHAEL TAURASO
Foundation Team
What do we do?
Robots to Build and Test your App.Make
What do we do?
Robots to Build and Test your App.Magic
What do we do?
Developer Happiness
What do we do?
Find issues before shipping
Well Actually…
Servers
Configure machines
Get Xcode to behave
Software
Developers know what is being built
Self-service builds
ServersVirtualization is bad for builds :(
Our Hardware
Dual Core Mac Minis 16 GB RAM 256GB Solid State Drive $1,200 each
ServersDeploy Studio
Network boot Installs Xcode + SDKs Configuration for Xcode
Ansible
Checked in machine config Idempotent Hipster Puppet Easy to change + Add tools
Swarm for Jenkins
No web-configuration Tight with Jenkins version
Servers
Taming Xcode
10.10 ♥ 6Tame OS X First
Match latest versions with Xcode Never Sleep (caffeinate command) Always have a GUI Context
Tame Xcode
TCC Database Dev tools Security
Paranoia
Updates off SSH mostly off Spotlight off Bonjour off VNC off
Servers
Servers
“A challenge to an icon-obsessed culture.. increasingly interposing itself between
people and the physical world”
Software
What is CI + Release’s Interface to Developers?
SoftwareChecked in configuration defines what to build
Release Code builds the config
Software
Version everything
CocoaPods Bundler Know what you’re building with
Software
Often or Per-AppRarely
COMPONENT CHANGE
Software
Examine your iOS Signing files today https://github.com/emonti/pliney
xcodebuild will gleefully burn your toast.
Code Signing
Entitlements MobileProvision Certificates
SoftwareiOS Simulator
`xcrun simctl` Control the Simulator Make a new sim for every run Restart everything between runs
Statistics3x as many Tests run on every PR
Build Stability 85% -> 99.5%
Ask any Square iOS Developer about mobuild
@mtauraso