[iOS开发] 使用Jenkins自动打包并上传至蒲公英
2024-08-28 18:16:42
设置构建触发器
Poll SCM
H/2 * * * *
设置 构建脚本
#
#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
最新文章
- PHP 数组
- 什么是响应式Web设计?怎样进行?
- 发现美的眼睛 Prepared SQL Statement
- 《Linux内核设计与实现》读书笔记(七)- 中断处理【转】
- MFC CString的L和_T
- smarty中的母板极制_extends和block标签
- 纯jq编写增删改,弹出框
- java '相等'的比较.
- es5 中类的2种基本实现方法
- 简单的setInterval应用
- 为mysql 表重新设置自增的主键id
- vijos1056题解
- 使用 GStreamer appsrc 等插件实现视频音频混流,录制和推流
- python发送smtp 邮件 图片
- 初识并发编程 MPI
- python多态和规范
- Entity Framework Core的坑:Skip/Take放在Select之前造成Include的实体全表查询
- 控制uniFrame显示的一个管理类
- 正则表达式取querystring
- 【Spring boot】第一个项目 Springboot + mysql + hibernate
热门文章
- AtCoder Regular Contest 103 Problem D Robot Arms (构造)
- Did Pong Lie? (差分系统 判负环)
- Envious Exponents
- 线程间操作无效: 从不是创建控件“textBox2”的线程访问它
- Python开发基础-Day18继承派生、组合、接口和抽象类
- 【最短路】【dijkstra】【二进制拆分】hdu6166 Senior Pan
- Problem B: 查找某一个数
- Hiho : 二分·二分查找之k小数
- Tikhonov regularization和岭回归
- VS2010 C++ 创建COM组件