Apphance Flow should work with any Continuous Integration system. Our CI server of choice is Jenkins and this part of documentation describes how to set it up. But the steps below should be pretty similar when installing other CI software.
You can follow the step by step tutorial below for Jenkins for other CI software you should test it your self.
Jenkins can be easily installed using native installer . Before you begin installation you have to disable OS X Gatekeeper feature. Otherwise you will see following error:
To disable Gatekeeper you should:
Open system preferences, open “Security & Privacy” section. Unlock changes by clicking lock in left corner and select “Anywhere” in “Allow applications downloaded from:” section:
In order to be able to run jenkins, java 7 must be installed.
Java 7 can be installed using Oracle's installation instructions.
Note! Jenkins startup script (nor jenkins installer) will not warn you that java is not installed it just silently won’t start if you forgot this step!
After disabling sandboxing and java installation you can install jenkins from pkg.
Jenkins installer adds jenkins user, but you have to manually set the password. You can do this with following command:
Boxen software (which we are using to install additional software) requires sudo permissions to install. You have to open “Users & Groups” preferences and check “Allow user to administer this computer” checkbox:
Jenkins creates its user dir at /Users/Shared/Jenkins. Some command line tools assumes that home dir is at /Users/jenkins. You have to make symlink:
The unlockKeychain task requires OS_KEYCHAIN_LOCATION and OSX_KEYCHAIN_PASSWORDS variables. If you use Login Keychain (default) then keychain password is the same as Jenkins user password. Both variables should be set in Jenkins's configuration (Jenkins -> Manage Jeknkins -> Configure System in single master environment or <node name>/Configure in master/slave environments) section.
Similarly if you will configure mail server on your Jenkins you need to setup MAIL_SERVER and MAIL_PORT environment variables.
In order to be able to use command line tools installed with homebrew/boxen you have to edit jenkins startupscript:
vim /Library/Application\ Support/Jenkins/jenkins-runner.sh
and add source /opt/boxen/env.sh atter #/bin/bash then restart jenkins:
Follow to Jenkins Plugins part.