Skip to content

Instantly share code, notes, and snippets.

@t-kashima
Last active August 29, 2015 13:57
Show Gist options
  • Save t-kashima/9517741 to your computer and use it in GitHub Desktop.
Save t-kashima/9517741 to your computer and use it in GitHub Desktop.
#!/bin/sh
###############################
# リポジトリを最新にして自動ビルドする
###############################
###############################
# 自動ビルド設定
###############################
# リポジトリの場所
PROJ_DIR="REPOSITORY"
# プロジェクトファイルの場所
PROJ_FILE=$PROJ_DIR"/~.xcodeproj"
# ワークファイルの場所 (CocoaPodsを使った時)
# WORK_FILE=$PROJ_DIR"/~.xcworkspace"
# ビルドの時に使うConfigure
BUILD_CONF="CONFIGURE"
# ビルドのScheme
BUILD_SCHEME="SCHEME"
# ビルドファイルの出力先
BUILD_OUT_DIR="BUILD_OUTPUT"
# プロダクトの名前
PRODUCT_NAME="PRODUCT_NAME"
# プロビジョニングの名前
PROVISIONING_NAME="PROVISIONING"
# ipaをアップロードするURL
IPA_UPLOAD_URL="https://~"
###############################
# 自動ビルド開始
###############################
# ローカルリポジトリを最新に保つ
cd ${PROJ_DIR}
git reset --hard HEAD
GIT_OUTPUT=`git pull origin master`
echo $GIT_OUTPUT
GIT_OUTPUT_NUM=`echo ${GIT_OUTPUT} | wc -w`
# git pullのアウトプットの単語数が2以下の時は更新がない
if [ $GIT_OUTPUT_NUM -le 2 ]; then
echo "更新されたコミットがありませんでした"
exit
fi
# クリーン
xcodebuild clean -project ${PROJ_FILE}
# ビルド開始
xcodebuild -project ${PROJ_FILE} -scheme ${BUILD_SCHEME} -configuration ${BUILD_CONF} install DSTROOT="${BUILD_OUT_DIR}"
# CocoaPodsを使った時はworkspaceを指定
# xcodebuild -workspace ${WORK_FILE} -scheme ${BUILD_SCHEME} -configuration ${BUILD_CONF} install DSTROOT="${BUILD_OUT_DIR}"
# ipaを生成する
APP_FILE=$BUILD_OUT_DIR"/Applications/"$PRODUCT_NAME".app"
IPA_FILE=$BUILD_OUT_DIR"/"${PRODUCT_NAME}".ipa"
BUILD_OUTPUT=`xcrun -sdk iphoneos PackageApplication "$APP_FILE" -o "$IPA_FILE" --sign "$PROVISIONING_NAME"`
echo $BUILD_OUTPUT
# ビルドのアウトプットの確認
if [ "${BUILD_OUTPUT}" != "" ]; then
echo "ビルドに失敗しました"
exit
fi
# アップロードする
scp $IPA_FILE $IPA_UPLOAD_URL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment