It now lives at jenkins-android.local, which is 10.200.35.50. username ci, password * for VNC.

Jenkins username jenkins, password $$$$$

Mac Mini Rebuild

Username ci, Password $$$$$

Homebrew

Install Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Also, Homebrew got broke in 2016-08-11, so do a cd $(brew --repo); git fetch; git reset --hard origin/master to fix it.

Then Install Apps

brew install wget
brew cask install java
brew install jenkins
brew services start jenkins

Which install jenkins 2.11

Migrated all jobs from OSX:/Users/Shared/Jenkins/Home/jobs to /Users/ci/.jenkins/jobs. This is do by simple copying. Then do a Jenkins -> Refresh From Disk & install any missing extensions.

  • All jobs installed on the Mac. I’ve installed the latest Android SDK & various tools that it looks like the builds need.
  • Used my company GitHub credentials as I don’t know amy of the others.
  • I ​know​ there will be other things needed, but the basics are there.
  • I also migrated all the old logs & runs etc.
  • Also upgraded Jenkins from 1.6.xxx to 2.11 (Which is the same as the iOS dev box).
  • New node name - jenkins-android.local, AKA 10.200.35.50
  • I’ll migrate to Docker instance post holiday.

Issues

Jenkins only accessible locally.

If you can only login to Jenkins from localhost:8080 then the jenkins.plist needs editing to change the httpListenAddress from 127.0.0.1 to 0.0.0.0

The Plist is here - ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.jenkins</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/java</string>
      <string>-Dmail.smtp.starttls.enable=true</string>
      <string>-jar</string>
      <string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
      <string>--httpListenAddress=0.0.0.0</string>
      <string>--httpPort=8080</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

Network issues are stopping Android SDK update on Mac Mini

android update sdk --no-ui` fails with File-Not-Found (404).

If not resolved before I leave then someone needs to do the following:

From terminal -

ssh -Y -l ci 10.200.35.50
sudo android update sdk --no-ui

Or use Screen Sharing to login to 10.200.35.50 as ci user, start a terminal session & do sudo android sdk to install from the UI.

Jenkins

Updated to 1.642.4

sudo chown root:wheel /Applications/Jenkins

Jenkins Stability

Jenkins is significantly more stable now.

The issue with builds hanging waiting for password entry has been resolved via the Fastlane unlock_keychain command.

Use of AWS Device Farm

A Jenkins Test Job (AWS_Test_01) has been created which has successfully uploaded & tested Oletha’s XCtest code. NOTE That is is currently only uploaded & testing the .ipa files, they are not being build by the Jenkins job.

This test job is using my personal AWS account, so I’ll only be running occasional testing - $$$’s and all that.