一、配置Linux 环境下jenkins ,具体配置步骤就不描述了,试试下面的链接
Linux环境下安装Jenkins(超详细)----
https://blog.csdn.net/qq_35868412/article/details/89475386
二、安装插件
插件太多,无法一一指出每个插件的用途,不嫌麻烦可以都安装了 😂
三、配置节点
Credentials 添加四、配置
#配置参数
#工程名字
Project_Name="xxx"
#配置打包方式Release或者Debug
Configuration="Debug"
#基础主路径
BUILD_PATH=./build
#不同版本的基础子路径
#Development
Development_PATH=${BUILD_PATH}/development
#配置编译文件的存放地址
#Development
CONFIGURATION_BUILD_PATH_Development=${Development_PATH}/${Configuration}-iphoneos
#配置打包结果输出的路径
#Development版本
DevelopmentPrijectOutPath=${Development_PATH}/DevelopmentOut
#如果工程中配置了Automatically manage signing,那么就不需要证书名和描述文件名,请确保工程中配置的证书名和描述文件是你打包想要用的
#ADHOC证书名#描述文件
DevelopmentCODE_SIGN_IDENTITY="Apple Development: xxxx xx (xxxxxxxxxx)"
DevelopmentPROVISIONING_PROFILE_NAME="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
#plist文件,可以先手动打包,会自动生成ExportOptions.plist文件,根据自己的项目替换信息
DevelopmentExportOptionsPlist="./ExportOptions.plist"
###下面这句很关键,本地自动化打包不需要,远程节点打包出现以下异常
###1、errSecInternalComponent Command PhaseScriptExecution failed with a nonzero exit code
###2、PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks
###Linux 服务器上的 Jenkins 调用 Mac Slave 时,是通过之前设置的 SSH 登录的方式,而 Apple 为了安全,在 ssh 登录时,是不允许读取 Keychains(钥匙串)的,所以 security -v unlock-keychain -p "yourpassword"这行命令就很重要了。在构建打包前,先解锁 Keychains。
security unlock-keychain -p "xxxxxx" ~/Library/Keychains/login.keychain
echo '**** 开始编译打包工程 ****'
xcodebuild archive -workspace ${Project_Name}.xcworkspace -scheme ${Project_Name} -configuration ${Configuration} -archivePath ./myArchivePath
如果使用的是手动导入配置文件,后面要加上下面,我使用的是Automatically manage signing
#ODE_SIGN_IDENTITY="${DevelopmentCODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${DevelopmentPROVISIONING_PROFILE_NAME}"
echo '**** 编译打包工程完毕 ****'
echo '****** 开始导出IPA ******'
xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath DevelopmentPrijectOutPath
echo '****** 导出IPA成功 ******'
#目前只有绝对路径上传成功,可根据Jenkins安装路径找到ipa的文件路径 例:(/Users/youzimu/.jenkins/workspace/xxxx/DevelopmentPrijectOutPath/CloudStorageCTS)
echo "****** 开始上传IPA包到蒲公英 ******"
curl -F "file=@/Users/youzimu/.jenkins/workspace/xxxx/DevelopmentPrijectOutPath/CloudStorageCTS.ipa" -F "uKey=xxxxxxxxxxxxxxxxxxx" -F "_api_key=xxxxxxxxxxxxxxxxxxxx" https://upload.pgyer.com/apiv1/app/upload
网友评论