Skip to end of metadata
Go to start of metadata


To build the iOS app, we need a macOS build agent (slave). This page describes the configuration of that machine, so we can rebuild it if we ever have to.

See Host connection information on how to access that machine.

Configuration steps

  1. Order the machine from HostMyApple.
  2. Specifications:
    macOS High Sierra Pro $44.99/mo

    Do you need even more power? The macOS High Sierra Pro package features 4096MB of RAM and 80GB of Solid State Drive space. This package is perfect for cloud development, hosting multiple websites , file sharing or team shared desktop access.

    • 4096MB of RAM

    • 80GB SSD Disk Space

    • Unlimited Bandwidth

    • 24 Hour Support

    • 4 vCPUs

    • 1000Mbps Connection

    • Full Root Access

    • Remote Desktop Access

  3. Install NoMachine
    1. Click the No Machine icon in the top menu bar and click "Show Connection Status"->Connection Preferences->Security
      and then uncheck the option "Require Permission to let remote users connect". This will allow for unattended access.

    2. Click the "Services" tab and uncheck "Advertise this computer on the network"

  4. Change the password of the standard user
  5. Change the standard VNC password
  6. Create administrator accounts for all necessary people
  7. Create administrator account for yonabuild
  8. Install the Java 8 SDK
  9. Create the directory /Users/yonabuild/jenkins
  10. Configure the build agent as described here
    1. Use remote root directory /Users/yonabuild/jenkins
    2. Use label mac-os
    3. Set usage to "Only build jobs with label expressions matching this node"
    4. Use SSH with non-blocking IO
    5. Select the credential created for yonabuild earlier
    6. Use host verification strategy "Manually provided key Verification Strategy" and determine the key this way: cat /etc/ssh/
  11. Created a credential in the Jenkins server as described here

    Public key
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC73BOLwfSL0hVzjxh0X8yWycGEx7RlNoF7diYj7bIwVQrS+8F5Mv6g1k42uxqxpXEYvyT20DT4ogHd8zELgCW+FMZrDmK9BWiMyKML6EygcA2NjPaTs9j4SDZxITStqU7m/MQqYDJq1YJkaIf4Rdhv6ICQDLMb9FpBQLpC/Jw6TmgoQ9U9S9++RrimzWhi8/16sB8XNu5lyrlXiRJFWz43ZUXX5GXnqwFYsyaAJJoCcoxQOgq1nkyH1XkachZSPY90NxsfPhKu1AxQo7g/6nu3kLRY1ZkJTYHu9yCslK0bdJBTb4cLE79jcp0yL3eRPtDu2ZVrMfaBtRL16/CdVYB5 Jenkins build agent

    (can be used for other SSH-based build agents too)

  12. Update macOS to latest version from the App Store application  (needs Apple ID to download)

  13. Install the latest Xcode  (current version installed is 9.4.1) from the App Store application in the macOS (needs Apple ID to download the application)
  14. Install the latest CocoaPods

    sudo gem install cocoapods

    This will install CocoaPods in the location  /usr/local/bin/pod

  15. Verify and enable the command line tools in Xcode with steps below:
    1. Open Xcode
    2. Go to Preferences menu --> Select Locations --> Select the installed Xcode version in the command line tools drop down.
  16.  Install Apple Developer Certificates and Provisioning Profile (Developer And Distribution) in Keychain of yonabuild user
  17. Install the latest xcpretty

    sudo gem install xcpretty
  18. Install Fastlane:

    sudo gem install fastlane -NV
  19. Updated Xcode(10.1) also few security update of mac os from App store application.

Updating Fastlane

Once in a while Fastlane needs to be updated. Do that through the following steps:

  1. Login through SSH

  2. Go to the workspace folder, which you find in the Jenkins console output, as follows:
    Running on macOS in /Users/...
  3. In that folder, do the following:

    sudo bundle update --verbose fastlane
    git add Gemfile.lock
    git commit -m "Updated fastlane to <put version number here>"
    git push https://<your account> HEAD:master
  4. Go to some other machine (not the build slave) and merge master to develop, to get the new Fastlane on that branch too
  • No labels