設置構建觸發器api
Poll SCMxcode
H/2 * * * *
設置 構建腳本app
# #xodebuild & jenkins 自動構建並上傳至pgyer.com #2017年5月9日 # #定義一些變量 PROJ_NAME="zhixinStuApp" cd ./${PROJ_NAME} ARCHIVE_NAME="${PROJ_NAME}#${BUILD_NUMBER}#Pro.xcarchive" LIBRARY_PATH="~/Library" ARCHIVE_PATH="${LIBRARY_PATH}/Developer/Xcode/Archives/${ARCHIVE_NAME}" DIS_TARGET="ad-hoc" EXPORT_OPTION_PATH="/Users/Shared/exportOptions/ad-hoc.plist" HOST_HEADER_PATH="/Users/Shared/exportOptions/hostConfig/HostConfig.h.pro.h" IPA_DIR="${PROJ_NAME}#${BUILD_NUMBER}" IPA_PATH="$/Users/Shared/Jenkins/Library/ipas/${IPA_DIR}/${DIS_TARGET}" PLIST_PATH="./${PROJ_NAME}/Info.plist" ENVIRONMENT_PATH="./${PROJ_NAME}/${PROJ_NAME}.entitlements" APP_NAME="知新點點" #修改HostConfig.h文件 cp ${HOST_HEADER_PATH} ./${PROJ_NAME}/HostConfig.h #描述文件UUID PROFILE="d825a1ea-10ad-4de9-87d1-93884e98dc79" #證書名字 IDENTITY="iPhone Distribution: Beijing Brilliant Insight Tree Technology Co., Ltd. (73HJR29D82)" #修改Xcode8中的自動簽名改成手動管理 sed -i '' 's/ProvisioningStyle = Automatic;/ProvisioningStyle = Manual;/' ./${PROJ_NAME}.xcodeproj/project.pbxproj #修改CFBundleVersion爲jenkins的BUILD_NUMBER echo '修改${PLIST_PATH}中CFBundleVersion的值爲${BUILD_NUMBER}' plutil -replace CFBundleVersion -string "${BUILD_NUMBER}" ${PLIST_PATH} #修改 CFBundleDisplayName echo '修改 ${PLIST_PATH} 中 CFBundleDisplayName 的值爲${APP_NAME}' plutil -replace CFBundleDisplayName -string "${APP_NAME}" ${PLIST_PATH} #修改 aps-environment 的值 development/production echo '修改 ${ENVIRONMENT_PATH} 中 aps-environment 的值爲 production' plutil -replace aps-environment -string "production" ${ENVIRONMENT_PATH} #開始編譯 xcode簽名不能設置爲自動,只能使用手動管理簽名方式 xcodebuild -project ${PROJ_NAME}.xcodeproj -scheme ${PROJ_NAME} -archivePath "${ARCHIVE_PATH}" -configuration Release CODE_SIGN_IDENTITY="${IDENTITY}" PROVISIONING_PROFILE="${PROFILE}" archive #導出ipa包 xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath ${IPA_PATH} -exportOptionsPlist "${EXPORT_OPTION_PATH}" CODE_SIGN_IDENTITY=${IDENTITY} PROVISIONING_PROFILE=${PROFILE} #上傳包到pgyer.com API_KEY="09d238dda37****9ef0fa1b04e590" USER_KEY="17dc2f6cafc****fcd24e41e16" curl -F "file=@${IPA_PATH}/${PROJ_NAME}.ipa" -F "uKey=${USER_KEY}" -F "_api_key=${API_KEY}" https://www.pgyer.com/apiv1/app/upload