
Setting up iOS continuous delivery with Jenkins and Fastlane - roderikvdv
https://labs.kunstmaan.be/blog/ios-continuous-delivery-with-jenkins-and-fastlane
======
chrisstott
[I'm a co-founder at [http://www.buddybuild.com](http://www.buddybuild.com) \-
we're a cloud platform for building and iterating on mobile apps]

Awesome write up. I've always been a huge believer in having a great workflow.

Before starting buddybuild, last year, we were going through similar pain
trying to set up CI for an app with things like jenkins and travis - so we
could work in the simple way our team wanted : eg. One of us hits 'git push'
\- the team's devices get updated with the newest build, and we all had a
quick way to give feedback on the commit.

We realised that, like us, most app developers want a great workflow, but
didn't want to have to spend a lot of time setting it up and maintaining it.

With buddybuild, we've been working with hundreds of open source apps and iOS
/ Android developers to make sure we can automatically understand and build
their apps. The setup experience is usually just selecting the repo, and we'll
figure out the rest.

Our goal has always been as close to zero configuration as possible. I'm a
firm believer these things should just work, and the experience should be,
essentially, magical.

------
drpancake
Has anyone tried something like this but with OS X running in a VM? As a
distributed team we would prefer not to rely on one of us physically hosting a
Mac Mini.

Thanks for writing this.

~~~
roderikvdv
You can replace Jenkins easily with
[https://www.bitrise.io](https://www.bitrise.io), but i'm not sure imagemagick
and ghostscript are installed there.

~~~
thebloodrabbit
[Bitrise co-founder here] We have a fastlane integration step ;) That said
imagemagick & ghostscript are not pre-installed, but you can install both with
a simple script step. All of the integrations
([https://www.bitrise.io/integrations](https://www.bitrise.io/integrations))
are open source and you can add your own with a Pull Request to our Step
Library anytime. You can check out what's preinstalled on our VMs here:
[http://devcenter.bitrise.io/docs/virtual-machines-
updates](http://devcenter.bitrise.io/docs/virtual-machines-updates)

------
ImNotAKompjoetr
Isn't it generally considered bad practice to put certificates and profiles in
version control? Especially since you're putting your password in the fastlane
files here.. does anybody have a different approach for this? because the
general setup is really nice

~~~
potatolicious
As far as I can tell the certs/profiles aren't in version control, but their
paths are, and it's pretty concerning that the cert password is right there in
plaintext in a file committed to the repo.

There are Jenkins plugins available that will manage your certs and profiles
for you via the web admin UI, makes it pretty to use and keeps _all_ signing-
related information out of source control. Not to mention it also manages
copying these certs and keys to individual worker machines, which is super
nice when you have more than one build boxen.

------
JamesBaxter
I was thinking about doing this with TeamCity (I don't trust myself to get
security settings right with Jenkins).

I'm worried that Apple will just shut it down though.

Also does anyone have any recommendations for hosting stuff like this? I'd buy
a cheap Mac Mini or build a hackintosh but It can't go out of date as Xcode
often requires the latest OS version.

~~~
oakesm9
We run Jenkins on a Mac Mini located inside our office. It works pretty well.
Easy to VNC in and update it when required.

~~~
talldan
Setting up a Jenkins Slave is pretty easy as well, if it needs to run
alongside an already existing Jenkins installation somewhere else:

[https://wiki.jenkins-
ci.org/display/JENKINS/Distributed+buil...](https://wiki.jenkins-
ci.org/display/JENKINS/Distributed+builds)

------
shmapf
Does anyone know what the terminal colour scheme is on that page? (this one:
[https://labs.kunstmaan.be/uploads/media/5654b5aa96880/06-fas...](https://labs.kunstmaan.be/uploads/media/5654b5aa96880/06-fastlane-
init.png) )

------
melling
This fastlane tutorial was also published yesterday. It might also be of
interest.

[http://www.raywenderlich.com/116065/fastlane-tutorial-
gettin...](http://www.raywenderlich.com/116065/fastlane-tutorial-getting-
started)

------
natch
Why not use OS X Server with Xcode bots and the CI features that offers?

Not saying Jenkins and Fastlane is bad (it sounds great actually, and nice
writeup!) but curious what people see as missing in the Apple tools.

