Jenkin打包问题汇总+Shell脚本
Jenkin?打包问题汇总问题1.Print: Entry,"CFBundleShortVersionString",Does Not Exist分析: 问题2.Objects-normal/armv7/armv64** BUILD FAILED ** The following build commands failed: Ld /Users/hujintao/Library/Developer/Xcode/DerivedData/Test-brdyfbmzhdrnlodkhjdqibqivgzs/Build/Intermediates/Test.build/adhoc-iphoneos/Test.build/Objects-normal/arm64/Test normal arm64 Ld /Users/hujintao/Library/Developer/Xcode/DerivedData/Test-brdyfbmzhdrnlodkhjdqibqivgzs/Build/Intermediates/Test.build/adhoc-iphoneos/Test.build/Objects-normal/armv7/Test normal armv7 分析: 解决办法 问题3.xcrun: error: unable to find utility "PackageApplication",not a developer tool or in PATH分析: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ 打开终端,然后执行命令: sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/ chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication Shell脚本在桌面创建Jenkins-Ipas文件夹作为上传到蒲公英的文件夹 Cocoapods版本+发布蒲公英已测试# 工程名 APP_NAME="HKJenkinsProject" # 证书 CODE_SIGN_DISTRIBUTION="iPhone Distribution: CHINA MOBILE GROUP GUANGDONG CO.,LTD. MOBILE INTERNET BRANCH (8TS34KC67Y)" # info.plist路径 project_infoplist_path="./${APP_NAME}/Info.plist" #取版本号 bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") #取build值 bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") DATE="$(date +%Y%m%d)" IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}_prod.ipa" #要上传的ipa文件路径 IPA_PATH="$HOME/Desktop/Jenkins-Ipas/${IPANAME}" echo ${IPA_PATH} echo "${IPA_PATH}">> text.txt # 下面2行是集成有Cocopods的用法 echo "=================clean=================" xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -sdk iphoneos -configuration 'Release' SYMROOT='$(PWD)' xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/Desktop/Jenkins-Ipas/"${IPANAME}" #自动上传到蒲公英 PGYUSERKEY="3e01a67e0a0c0abd1ee1031e6d30286b" PGYAPIKEY="f46c71c8ca045944ddbcdd0a7569107b" PGYPWD="a847574311" echo "~~~~~~~~~~~~~~~~~~自动上传到蒲公英~~~~~~~~~~~~~~~~~~~~~~~~" curl -F "[email?protected]$IPA_PATH" -F "uKey=$PGYUSERKEY" -F "_api_key=$PGYAPIKEY" -F "password=$PGYPWD" https://qiniu-storage.pgyer.com/apiv1/app/upload echo "~~~~~~~~~UPLOAD_SUCCESS~~~~~~~~" 上传蒲公英第二种先安装fir-cli sudo gem install -n /usr/local/bin fir-cli 之后替换上传蒲公英步骤 # 设置上传到 Fir FIRTOKEN="6815935ea0c92e69d30793d7f81a26f2" fir l ${FIRTOKEN} fir p ${IPA_PATH} 待测试# 工程名 APP_NAME="HKJenkinsProject" # iPa存放目录名称 IPA_DIR_NAME="${APP_NAME}-IPA" # 证书 CODE_SIGN_DISTRIBUTION="iPhone Distribution: CHINA MOBILE GROUP GUANGDONG CO.,LTD. MOBILE INTERNET BRANCH (8TS34KC67Y)" # info.plist路径 project_infoplist_path="./${APP_NAME}/Info.plist" #取版本号 bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") #取build值 bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") DATE="$(date +%Y%m%d)" IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}_prod.ipa" #要上传的ipa文件路径 echo "ipaDir: -- $HOME/Desktop/${IPA_DIR_NAME}" if [ -d "$IPA_DIR_NAME" ]; then echo $IPA_DIR_NAME echo "IPA_DIR_NAME-目录存在" else echo "IPA_DIR_NAME目录不存在" #mkdir 创建新的目录 mkdir -pv $IPA_DIR_NAME echo "创建${IPA_DIR_NAME}目录成功" fi IPA_PATH="$HOME/Desktop/${IPA_DIR_NAME}/${IPANAME}" echo ${IPA_PATH} echo "${IPA_PATH}">> text.txt # 下面2行是集成有Cocopods的用法 echo "=================clean=================" xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -sdk iphoneos -configuration 'Release' SYMROOT='$(PWD)' xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/Desktop/${IPA_PATH}/"${IPANAME}" #自动上传到蒲公英 PGYUSERKEY="3e01a67e0a0c0abd1ee1031e6d30286b" PGYAPIKEY="f46c71c8ca045944ddbcdd0a7569107b" PGYPWD="a847574311" echo "~~~~~~~~~~~~~~~~~~自动上传到蒲公英~~~~~~~~~~~~~~~~~~~~~~~~" curl -F "[email?protected]$IPA_PATH" -F "uKey=$PGYUSERKEY" -F "_api_key=$PGYAPIKEY" -F "password=$PGYPWD" https://qiniu-storage.pgyer.com/apiv1/app/upload echo "~~~~~~~~~UPLOAD_SUCCESS~~~~~~~~" Native原生版本+发布蒲公英# 工程名 APP_NAME="JenkinsProjectNative" # 证书 CODE_SIGN_DISTRIBUTION="iPhone Distribution: CHINA MOBILE GROUP GUANGDONG CO.,LTD. MOBILE INTERNET BRANCH (8TS34KC67Y)" # info.plist路径 project_infoplist_path="./${APP_NAME}/Info.plist" #取版本号 bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") #取build值 bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") DATE="$(date +%Y%m%d)" IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}_prod.ipa" #要上传的ipa文件路径 IPA_PATH="$HOME/Desktop/Jenkins-Ipas/${IPANAME}" echo ${IPA_PATH} echo "${IPA_PATH}">> text.txt # 下面2行是没有Cocopods的用法 echo "=================clean=================" xcodebuild -target "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Release' SYMROOT='$(PWD)' xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/Desktop/Jenkins-Ipas/"${IPANAME}" #自动上传到蒲公英 PGYUSERKEY="3e01a67e0a0c0abd1ee1031e6d30286b" PGYAPIKEY="f46c71c8ca045944ddbcdd0a7569107b" PGYPWD="a847574311" echo "~~~~~~~~~~~~~~~~~~自动上传到蒲公英~~~~~~~~~~~~~~~~~~~~~~~~" curl -F "[email?protected]$IPA_PATH" -F "uKey=$PGYUSERKEY" -F "_api_key=$PGYAPIKEY" -F "password=$PGYPWD" https://qiniu-storage.pgyer.com/apiv1/app/upload echo "~~~~~~~~~UPLOAD_SUCCESS~~~~~~~~" Jenkins重启brew services restart jenkins (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |