I want to setup an example iOS project build/test through Jenkins

27 views
Skip to first unread message

man...@veertu.com

unread,
Jul 12, 2017, 3:19:56 AM7/12/17
to Jenkins Users
Hi,

I want to set up a demo environment that showcases iOS build and test job CI pipeline using Jenkins. The Jobs will execute on macOS virtualized infrastructure (AWS like macOS private cloud) using Anka Build and it's Jenkins Plugin. 

Can someone suggest some sample project/Jenkins job setup for this? I am not a Jenkins configuration expert.

Thanks.

Artur Szostak

unread,
Jul 12, 2017, 10:41:49 AM7/12/17
to Jenkins Users
I cannot provide a simple example, but I think the biggest issue here is the virtualisation side of things. What are you using? VirtualBox? VMware?
When we started a few years ago we went down the VirtualBox road running on MacMinis. This meant writing custom scripts to bring the VMs up in an automated way. After that it is just a matter of configuring a Jenkins node as usual, but using the custom script to actually launch the VM and SSH to it.
We have had moderate success with this. VirtualBox is not very scalable though, it becomes unstable.

In a future upgrade we are going to move to a VMware solution. Will reinstall the MacMinis with ESXi and use the Jenkins vSphere cloud plugin to have OSX VMs started on demand. We tested this kind of setup quite extensively and it seems to work better, but still need to roll out to full production.
For VMware you should note the following: only the Mac Pro is officially supported by VMware. Our tests show that ESXi does work on a MacMini however. But we had to make a crucial ESXi configuration change to make this stable. You need to change the VMkernel.Boot.preferVmklinux setting to true, e.g. run the following in the ESXi shell "esxcli system settings kernel set -s=preferVmklinux -v=TRUE".
There is also unfortunately still a 1-2% probability that the VM gets stuck when booting OSX. This appears to be a problem specific to the OSX operating system on ESXi, since I have not seen this when running Linux. We are planning to workaround this with a scripted timeout and killing the process.
It is possible that both these problems go away in the future when we get around to replacing our hardware with Mac Pros. Certainly the first issue should go away.

________________________________________
From: jenkins...@googlegroups.com <jenkins...@googlegroups.com> on behalf of man...@veertu.com <man...@veertu.com>
Sent: 12 July 2017 03:32:05
To: Jenkins Users
Subject: I want to setup an example iOS project build/test through Jenkins
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com<mailto:jenkinsci-use...@googlegroups.com>.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5c76ca15-443e-4d68-8ca2-3d7c8ca88c13%40googlegroups.com<https://groups.google.com/d/msgid/jenkinsci-users/5c76ca15-443e-4d68-8ca2-3d7c8ca88c13%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

Artur Szostak

unread,
Jul 12, 2017, 10:49:05 AM7/12/17
to Jenkins Users
Hmm... I think I missed the mark with my answer. Was too quick too reply.
I see Anka is its own virtualisation stack built on bhyve/xhyve.
Sorry, ignore my previous answer.

________________________________________
From: jenkins...@googlegroups.com <jenkins...@googlegroups.com> on behalf of Artur Szostak <aszo...@partner.eso.org>
Sent: 12 July 2017 16:41:30
To: Jenkins Users
Subject: Re: I want to setup an example iOS project build/test through Jenkins
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/052bb17775d8409b9252a376c5ff818a%40partner.eso.org.

man...@veertu.com

unread,
Jul 13, 2017, 2:05:43 AM7/13/17
to Jenkins Users, aszo...@partner.eso.org
yes. Anka is native virtualization for macOS, specifically for iOS/macOS Ci infrastructure. It doesn't require removing macOS like ESXi does. Operates on top of macOS, as an application. Native host like performance. I am trying to setup an example demo setup with an iOS app and Jenkins. I have already setup the infrastructure and Anka Jenkins plugin. Just need to setup an iOS project in Jenkins.
Reply all
Reply to author
Forward
0 new messages