Skip to content

Instantly share code, notes, and snippets.

@Tangdixi
Last active December 2, 2016 03:39
Show Gist options
  • Save Tangdixi/0599d36394d55ef966dc59c04dcf48e2 to your computer and use it in GitHub Desktop.
Save Tangdixi/0599d36394d55ef966dc59c04dcf48e2 to your computer and use it in GitHub Desktop.
Jenkins Xcode CI Shell
#!/bin/sh
##
## Create by DC Tang
##
## Setup variables
##
WORKSPACE="POS.xcworkspace"
TARGET_SDK=iphoneos10.1
CONFIGURATION="Distribution-Development"
SIGNING_IDENTITY="iPhone Distribution: Bindo Labs Inc"
PROVISIONING_PROFILE_SPECIFIER="ad8dd117-dd55-43ba-940d-7ccc6a7d7643"
SCHEME="POS Dev"
ARCHIVEPATH="~/desktop/BindoLabs Release/BindoPOS.xcarchive"
DESTINATION="platform=iOS,name=iPad Air 2,OS=10.1"
RELEASEPATH="~/desktop/BindoLabs Release/"
EXPORTPATH="~/desktop/BindoLabs Release/BindoPOS"
EXPORTFORMAT=ipa
## Step 1
## Clean the project
xcodebuild clean \
-workspace "${WORKSPACE}" \
-configuration "${CONFIGURATION}" \
-scheme "${SCHEME}"
rm -rf "${RELEASEPATH}"
## Step 2
## Build the project
xcodebuild build \
-workspace "${WORKSPACE}" \
-scheme "${SCHEME}" \
-configuration "${CONFIGURATION}" \
-sdk "${TARGET_SDK}" \
CODE_SIGN_IDENTITY="${SIGNING_IDENTITY}" \
PROVISIONING_PROFILE="${PROVISIONING_PROFILE_SPECIFIER}"
## Step 3
## Run unit test
xcodebuild test \
-workspace "${WORKSPACE}" \
-scheme "${SCHEME}" \
-destination DESTINATION \
## Step 3
## Archive the project
xcodebuild archive \
-workspace "${WORKSPACE}" \
-scheme "${SCHEME}" \
-configuration "${CONFIGURATION}" \
-sdk "${TARGET_SDK}" \
-archivePath "${ARCHIVEPATH}" \
CODE_SIGN_IDENTITY="${SIGNING_IDENTITY}" \
PROVISIONING_PROFILE="${PROVISIONING_PROFILE_SPECIFIER}"
## Step 4
## Export the .ipa
xcodebuild -exportArchive \
-archivePath "${ARCHIVEPATH}" \
-exportPath "${EXPORTPATH}" \
-exportFormat "$EXPORTFORMAT" \
PROVISIONING_PROFILE_SPECIFIER="${PROVISIONING_PROFILE_SPECIFIER}"
## Step 5
## Remove xcode archive
rm -rf "${ARCHIVEPATH}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment