No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Scripts for setting up and running iOS continuous integration machine (with support for native iOS and Titanium/Appcelerator apps).


1.) install OS X El Capitan

2.) enable SSH server

sudo systemsetup -setremotelogin on

3.) change password of "user" account and add your public SSH key to ~/.ssh/authorized_keys

4.) disable password SSH login via:

UsePam yes
ChallengeResponseAuthentication no
PasswordAuthentication no
kbdInteractiveAuthentication no

5.) install Xcode 7 or Xcode 8

You can found download links on Links on that page will redirect you to, where you need to login, and then you will be redirected to file to download. You can get curl command for that URL (including authentication headers) by opening Developer Tools in Chrome, right clicking on that network request and selecting Copy as cURL.

Copy cURL command to SSH session and add -O, to download it to a file in current directory.

6.) install packages by typing:

ruby -e "$(curl -fsSL"
sudo gem install cocoapods -v 0.39.0
sudo gem install xcpretty
sudo gem install xcodeproj
sudo gem install deliver
sudo gem install cocoaseeds
sudo gem install fastlane
brew install x11vnc #for remote desktop

# carthage
curl -OlL ""
sudo installer -pkg ./Carthage.pkg -target /
rm "Carthage.pkg"

7.) add:

export LANG=en_US.UTF-8

to ~/.profile

8.) Symlink itms for altool:

ln -s /Applications/\ /usr/local/itms

Resize disk

You can resize a disk via CLI.

First you need to find out disk name via:

diskutil list

and then you can resize it to maximum size via:

sudo diskutil resizeVolume disk0s2 R

where disk0s2 is disk you want to resize.

Setting up Titanium/Appcelerator

1.) Install pre-requirements:

brew install homebrew/versions/node4-lts

brew tap caskroom/cask
brew install Caskroom/cask/java

2.) Install CLI tools:

sudo npm install -g grunt-cli titanium alloy appcelerator tisdk

3.) Set-up appcelerator and install latest titanium SDK (warning - requires interaction):

appc setup

Setting up static networking

List all adapters

networksetup -listallnetworkservices  

Set IP address with netmask and router address

networksetup -setmanual en0  

Use Google's DNS servers:

networksetup -setdnsservers en0


Example .gitlab-ci.yml for native iOS apps

  - build

  stage: build
    - carthage update --platform iOS
    - ~/ios-tools/ "MyAwesomeApp"
    - xcodebuild clean archive -archivePath build/App -project MyAwesomeApp.xcodeproj -scheme "MyAwesomeApp" | xcpretty
    - sigh download_all --team_id A1B2C3D4E5 --username --force
    - xcodebuild -configuration Release -exportArchive -exportFormat ipa -archivePath "build/App.xcarchive" -exportPath "build/App.ipa" -exportProvisioningProfile "com.example.myawesomeapp AdHoc"
    - ~/ios-tools/ build/App.ipa "#my-awesome-app"
    - ios
    - master

Example .gitlab-ci.yml for Titanium iOS apps

  - build

  stage: build
    - ~/ios-tools/ ./tiapp.xml
    - ti build --platform ios --target dist-adhoc --distribution-name "Company TLD (A1B2C3D4E5)" --pp-uuid "`~/ios-tools/ AdHoc_com.example.myawesomeapp`" -O ./dist
    - ~/ios-tools/ dist/MyAwesomeApp.ipa "#my-awesome-app"
    - ios
    - master