返回
高效iOS构建流程的构建方案
IOS
2023-12-10 14:03:54
对效率有追求的公司,都应该有一套自动构建系统。目前我们使用的这套iOS构建流程,经过2年的使用,基本稳定下来。这篇文章主要用来记录目前自己使用的Jenkins打包脚本。在效率上,解放出开发人员的时间,更方便其他同事使用,保证打包的标准,避免配置或环境问题。
## **构建流程**
iOS构建流程主要包含以下几个步骤:
1. **代码提交** :开发人员将代码提交到代码仓库。
2. **构建触发** :代码提交后,Jenkins服务器自动触发构建。
3. **编译** :Jenkins服务器编译代码,生成ipa包。
4. **测试** :ipa包通过测试后,Jenkins服务器将ipa包上传到蒲公英。
5. **发布** :蒲公英将ipa包分发给测试人员或用户。
## **Jenkins打包脚本**
Jenkins打包脚本是一个shell脚本,用于在Jenkins服务器上执行构建流程。脚本内容如下:
```
#!/bin/bash
# 设置环境变量
export PROJECT_NAME="MyProject"
export SCHEME_NAME="MyProject"
export BUILD_CONFIGURATION="Release"
export IPA_OUTPUT_PATH="/Users/Shared/ipa/${PROJECT_NAME}.ipa"
# 编译代码
xcodebuild -project "${PROJECT_NAME}.xcodeproj" -scheme "${SCHEME_NAME}" -configuration "${BUILD_CONFIGURATION}" -destination 'generic/platform=iOS' -derivedDataPath "build/${SCHEME_NAME}" clean build
# 测试ipa包
xcrun xctestrun -sdk iphonesimulator -scheme "${SCHEME_NAME}" -configuration "${BUILD_CONFIGURATION}" -destination 'platform=iOS Simulator,name=iPhone 8' | tee xctest.log
# 上传ipa包到蒲公英
curl -F "file=@${IPA_OUTPUT_PATH}" -F "uKey=xxx" -F "_api_key=xxx" https://www.pgyer.com/apiv2/app/upload
# 发送邮件通知
mail -s "iOS构建完成" -r "jenkins@example.com" "receiver@example.com" < xctest.log
```
## **使用说明**
1. 将Jenkins打包脚本保存到Jenkins服务器上。
2. 在Jenkins上创建一个新的项目,并选择“构建一个自由风格的软件项目”。
3. 在“源代码管理”部分,选择“Git”。
4. 在“构建”部分,添加一个“执行shell”构建步骤,并指定Jenkins打包脚本的路径。
5. 保存项目并运行构建。
## **总结**
通过使用上述构建流程,可以大大提高iOS构建的效率。开发人员只需要将代码提交到代码仓库,剩下的工作就由Jenkins服务器自动完成。这样,开发人员就可以专注于开发新功能,而不必担心构建和测试的问题。