Skip to content

Setup Jenkins

Vineet Choudhary edited this page Jan 18, 2018 · 5 revisions

AppBox Project setting plist

This file should be in your project main directory. Name must be appbox.plist

Demo 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>project</key>
	<string>TestJenkins.xcodeproj</string>
	<key>scheme</key>
	<string>TestJenkins</string>
	<key>buildtype</key>
	<string>development</string>
	<key>teamid</key>
	<string>4F7SW76LL6</string>
	<key>keepsamelink</key>
	<true/>
	<key>dropboxfoldername</key>
	<string></string>
	<key>email</key>
	<string>[email protected]</string>
	<key>personalmessage</key>
	<string>Test Build</string>
</dict>
</plist>

Private keys and Provisioning Profiles

All your private keys should be in a directory called cert in project main directory. Directory cert will include certificates information file. Again with name appbox.plist

Note - All private key must have some valid password.

<?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">
<array>
	<dict>
		<key>name</key>
		<string>Certificates.p12</string>
		<key>password</key>
		<string>password</string>
	</dict>
	<dict>
		<key>name</key>
		<string>Test_Jenkins_Developer.mobileprovision</string>
	</dict>
	<dict>
		<key>name</key>
		<string>Test_Jenkins_InHouse.mobileprovision</string>
	</dict>
</array>
</plist>

Build Script

Add following script in Jenkins project Build configuration (Jenkins -> Project -> Configure -> Build -> Add a Build Step -> Execute Shell)

/Applications/AppBox.app/Contents/MacOS/AppBox build=$WORKSPACE

Project Directory Structure

After full setup, your project directory will be look like this -

ProjectName (This is  your project main directory)
|- ProjectName
|- Project.xcodeproj
|- Project.xcworkspace
|- appbox.plist (Appbox project setting file)
|- cert (Appbox project certificate directory)
|   |- appbox.plist (Appbox certificate information file)
|   |- Cetificates1.p12
|   |- Cetificates2.p12
|   |- Project-adhoc.mobileprovision
|   |- Project-enterprice.mobileprovision
|   |- Project-appstore.mobileprovision
|- ProjectTests (If any)

Other Resources

Start Jenkins

cd /Applications/Jenkins
java -jar jenkins.war

Restart Jenkins

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

Auto Restart Script https://gist.github.com/vineetchoudhary/be33502543f4858dad61c6aca1f310a2