打包精简版

39 阅读2分钟

基于Jenkins搭建的自动化打包CI/CD流程解决手动打包效率低、环境不一致、流程繁琐,核心流程4个核心环节: ## 一、环境与基础配置 1. 环境依赖:基于macOS(10.15+)搭建,需预装JDK 8+(Jenkins运行)、Xcode(含命令行工具),推荐通过Homebrew快速安装Jenkins LTS版本,启动后完成初始管理员配置。 2. 核心插件:安装iOS打包必备插件——Keychains and Provisioning Profiles Management(证书/描述文件管理)、Xcode integration(Xcode工程集成)、Git plugin(代码拉取),并上传iOS签名用的Keychain文件和Provisioning Profile,配置代码签名身份与团队ID。 ## 二、核心打包流程(Shell脚本+Jenkins任务) ### 1. 自动化脚本核心逻辑(多环境适配) bash # 核心步骤:版本管理→依赖安装→清理→归档→导出IPA→分发 export LANG=en_US.UTF-8 # 1. 版本号更新(覆盖传入的版本号,自动生成构建号) /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $VERSION" Info.plist # 2. 依赖安装(CocoaPods) pod install --repo-update # 3. 清理项目(避免缓存干扰) xcodebuild clean -workspace YourApp.xcworkspace -scheme YourApp -configuration Release # 4. 归档构建 xcodebuild archive -workspace YourApp.xcworkspace -scheme YourApp -archivePath build/archive/YourApp.xcarchive # 5. 导出IPA(适配dev/adhoc/app-store等环境) xcodebuild -exportArchive -archivePath build/archive/YourApp.xcarchive -exportPath build/ipa -exportOptionsPlist ExportOptions/${ENV}.plist # 6. 分发(如上传蒲公英/TestFlight) curl -F "file=@build/ipa/YourApp.ipa" -F "uKey=$PGYER_U_KEY" https://upload.pgyer.com/apiv1/app/upload ### 2. Jenkins任务配置 - 源码管理:配置Git仓库地址与分支,绑定SSH密钥拉取代码; - 构建环境:勾选证书/描述文件管理,关联已上传的签名文件; - 构建步骤:执行上述Shell脚本(支持参数化构建,传入环境/版本号); - 构建后操作:归档IPA产物,配置邮件/即时消息告警(成功/失败通知)。 ## 三、优化与问题处理 1. 性能优化:启用Xcode并行构建(-jobs 4)、ccache编译缓存、增量构建(避免全量clean),将DerivedData缓存到SSD,缩短构建耗时; 2. 常见问题解决: - 签名失败:检查Keychain上传完整性、描述文件有效性,自动检测证书过期并告警; - Scheme配置错误:确保Xcode中Scheme勾选“Shared”并提交到仓库; - Pod安装失败:禁用CocoaPods统计、跳过SSL验证加速依赖拉取。 ## 四、进阶管控(可选) 1. Pipeline流水线:通过Jenkinsfile实现“拉取代码→安装依赖→打包→测试→分发”的声明式流水线,支持多环境参数化构建; 2. 监控维护:定时清理旧IPA/归档文件(保留7-30天),监控磁盘空间与构建状态,失败时自动触发邮件/Slack告警; 3. 多环境管理:通过配置文件区分dev/prod环境的Bundle ID、API地址,打包时自动加载对应配置。 核心价值:实现“一键打包”,支持多环境、多版本自动化构建,消除人工操作误差,保障包体一致性,同时通过监控告警快速定位构建问题,提升研发交付效率。 18&x-orig-expires=1766301875&x-orig-sign=YN9pIfhY0Fz9djrWpY%2BMq%2F9TERc%3D)

image.png image.png