iOS 集成Jenkins 完整流程 (自由风格)
证书和钥匙串以及描述文件(provisionprofile)我都没有在jenkins中配置,因为我在工程中已经配置好了,这里需要注意一点,我们的jenkins 只是一个 集合了一套流程的系统,他并不会将我们Xcode自身的配置覆盖掉,所以,证书和描述文件完全可以在Xcode 中进行配置。我这里的archive , 导出ipa文件,上传蒲公英都是通过脚本执行的,所以并没有用到xcode build
一 、安装jenkins
brew install jenkins-lts
启动
brew services start jenkins-lts
进入Jenkins ,在浏览器中输入 http://localhost:8080 ,进入Jenkins
将自动生成的管理员密码复制到输入框中,点击继续
创建一个管理员账号
进行实例配置,我这里使用的是默认的(即自动填入的)
然后就进入了安装插件页面,我选择了安装推荐的插件
二、 jenkins配置
general 没有配置
码源管理进行了配置
我这里只配置了git (URL 和 分支) , 注意,我们配置了git 之后,每次我们
点击构建,都会从git 仓库拉取最新代码,jenkins 已经为我们
集成好了拉取代码的功能,并且,我这里也并没有添加
凭据,就可以直接拉取代码了。
证书和钥匙串以及描述文件(provisionprofile)我都没有在jenkins中配置,因为我在工程中已经配置好了,这里需要注意一点,我们的jenkins 只是一个 集合了一套流程的系统,他并不会将我们Xcode自身的配置覆盖掉,所以,证书和描述文件完全可以在Xcode 中进行配置
构建触发器和构建环境也不用管
因为我的archive 操作是通过脚本执行的,证书也在Xcode中配置好了,所以就没有用到
Xcode integration 插件
配置脚本
三 、执行脚本
我这里的archive , 导出ipa文件,上传蒲公英都是通过脚本执行的,所以并没有用到xcode build 插件
以下是所有脚本
# 声明要用到的解释器
#!/bin/bash -l
# 设置终端使用UTF-8编码,这样才支持cocoapods
export LANG=en_US.UTF-8
# jenkins 工作区的工程路径 (checkout 之后自动生成的)
CODE_PATH="/Users/liubo/.jenkins/workspace/liubotest"
# 我打包的目标文件夹(自己创建的)
ROOT_PATH="/Users/liubo/Desktop/Jenkins"
# 当前日期
DATE=$(date +%Y%m%d-%H-%M-%S)
# archive 文件名
ARCHIVE_NAME="${APP_NAME}_${DATE}.xcarchive"
# app名称
APP_NAME="ThePaperBase"
# archive 文件路径
ARCHIVE_PATH="${ROOT_PATH}/Archive/${ARCHIVE_NAME}"
# ipa 文件夹名称
IPANAME="${APP_NAME}_${DATE}_IPA"
# ipa 文件夹路径
IPA_PATH="${ROOT_PATH}/Export/${IPANAME}"
# 指ipa定输出文件夹,如果有删除后再创建,如果没有就直接创建
if test -d ${EXPORTPATH}; then
rm -rf ${EXPORTPATH}
mkdir -pv ${EXPORTPATH}
echo ${EXPORTPATH}
else
mkdir -pv ${EXPORTPATH}
fi
# ExportOptions.plist 路径, (自己先打好一个包后生成的文件放到该路径)
EXPORT_METHOD_PLIST_PATH=${CODE_PATH}/ExportOptions/ExportOptions.plist
#进入到工程根目录
cd "${CODE_PATH}"
# 执行 pod install
pod install
# archive
xcodebuild archive -workspace ${APP_NAME}.xcworkspace -scheme ${APP_NAME} -configuration Debug -archivePath ${ARCHIVE_PATH}
# 导出ipa 包
xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportPath "${IPA_PATH}" -exportOptionsPlist ${EXPORT_METHOD_PLIST_PATH} -allowProvisioningUpdates
file_path="${IPA_PATH}/${APP_NAME}.ipa"
# 删除archive文件
rm -rf $ARCHIVE_PATH
# 上传蒲公英
curl -F "file=@${file_path}" -F "uKey=45d2be1046a2db153cda3552207c1a6a" -F "_api_key=c7eb05bf55cbcbcb0687c59977a4c705" https://qiniu-storage.pgyer.com/apiv1/app/upload
注意其中的 ExportOptions.plist文件都是自己预先通过打包生成的文件
我这里是放到工程的根目录下了
配置使用 ip 地址访问Jenkins
进入 /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist 路径下的文件
plist中的httpListenAddress后的ip地址,修改为本机IP或者0.0.0.0
修改完成后,重启Jenkins,接下来就可以使用IP访问了。
如果打包机地址是192.168.0.109,
则可以在其他电脑浏览器中输入 192.168.0.109 :8080 访问
更多推荐
所有评论(0)