标签:编写 init 签名 name title string 测试 str 工作
关于Jenkins的相关博客网上有很多,这里不再重复说。新进公司要搭建该环境,我也是参考了如下博文:http://www.jianshu.com/p/41ecb06ae95f 文中说的很详细也不再细说。当然在实际搭建中也遇到了不少的坑,所以特写此博客以作补充。
命令行:cd /Users/Shared/Jenkins/Home/ 到当前目录,修改/secrets/目录权限后使用vim编辑器打开initialAdminPassword文件就可以复制里面的密码了。
构建证书环境需要上传Keychain和Provisioning Profile文件:Keychain文件包含打包所需的Code Signing文件,Provisioning Profile为设备文件。其中签名文件和设备文件可以在开发者账号中心获取,然后安装在本机上。打开钥匙串访问,在桌面上新建一个空钥匙串,然后把“钥匙串-登陆”项中的已安装后的签名文件(包含开发证书和发布证书)拷贝到新建的钥匙串中然后设置钥匙串密码,这样钥匙串和设备文件准备就绪,然后直接上传到Jenkins服务器。上传成功后就可以在Jenkins新项目的“构建环境”配置中选择指定的证书了。
构建过程可以选择Xcode和脚本的方式,使用Xcode的话需要安装插件,这里选择执行脚本来“编译-打包-导出ipa-上传至蒲公英”。参考博文中采用了xcodebuild + xcrun的方式,经验证在Mac OS 10.12之后xcrun被标记为过时,用Jenkins手动构建的时候会报错,所以在新版Mac OS中直接用xcodebuild就可以完成所有工作。下面提供我测试时所写的脚本:
# 工程名 app_name="jenkins-Demo1" # 证书 (CODE_SIGN_DISTRIBUTION),这个部分可以不用,因为已经配置了证书 #CODE_SIGN_IDENTITY="iPhone Developer: ~~~" #PROVISIONING_PROFILE_SPECIFIER="~~~~~~~~~~~~~~~~" # info.plist路径 project_infoplist_path="./${app_name}/Info.plist" # 获取version bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") # 获取build bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") # 日期 IPA_DATE="$(date +%Y%m%d)" # archive名字 #ARCHIVE_NAME="${app_name}_V${bundleShortVersion}_${IPA_DATE}.xcarchive" # ipa名字 #IPA_NAME="${app_name}_V${bundleShortVersion}_${IPA_DATE}.ipa" # archive 和 ipa 存放目录 ARCHIVE_IPA_CACHE_PATH="$HOME/JenkinsIpas/${IPA_DATE}" # archive路径 ARCHIVE_PATH="${ARCHIVE_IPA_CACHE_PATH}/${app_name}.xcarchive" # ipa路径 IPA_PATH="${ARCHIVE_IPA_CACHE_PATH}" echo ${ARCHIVE_PATH} echo ${IPA_PATH} # clean echo "-------------clean-------------" xcodebuild -target "${app_name}" -configuration ‘Release‘ clean # build echo "-------------build-------------" xcodebuild -target "${app_name}" -sdk iphoneos -configuration ‘Release‘ # archive
echo "-------------archive-------------"
#xcodebuild archive -project ${app_name}.xcodeproj -scheme ${app_name} -archivePath ${ARCHIVE_PATH} # 获取exportOptionsPlistPath路径 exportPlist_path="./${app_name}/exportDevelopment.plist" # 导出ipa echo "-------------export ipa-------------" #xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportOptionsPlist ${exportPlist_path} -exportPath ${IPA_PATH} # 上传至蒲公英 echo "-------------upload to pgyer" #UserKey 和 ApiKey USER_KEY="c064020a03b0f19cccd3fd82f143cf76" API_KEY="b5f849b038e3761c09b25e03ff1e3c71" #curl -F "file=@${IPA_PATH}/${app_name}.ipa" -F "uKey=${USER_KEY}" -F "_api_key=${API_KEY}" https://www.pgyer.com/apiv1/app/upload
需要注意的问题:
读者可以在自己的电脑上装Jenkins环境,然后在GitLab上创建一个公有的代码库,在本地创建一个空的工程并上传到该代码库,并指定该库地址为Jenkins构建时自动拉取的远程仓库地址做测试。当然在搭建的过程中可能还是会遇到一些坑,不要烦躁,静下心尝试着自己解决,总会有办法。多实践,多参考,总会有一些收获。
利用Jenkins搭建iOS项目可持续化集成环境( Continuous Integration 简称CI)
标签:编写 init 签名 name title string 测试 str 工作
原文地址:http://www.cnblogs.com/gxorg/p/7493929.html