jenkins IOS- ad-hoc 打包

背景

  客户无大企业证书,只有开发者证书,如果进行开发分发测试只能采用两种方式

  testfight

  ad-hoc打包

  上testfight存在一定的审核时间,排除掉,最后选择打ad-hoc的包

解决

  查看了jenkins xcode插件,无法指定

  查看了xcodebuild 理论上可行,但没有发现指定命令

  最后确定使用fastlane gym进行打包

  

  落地脚本如下

  

#!/bin/bash

#计时
SECONDS=0

#假设脚本放置在与项目相同的路径下
project_path=$(pwd)
#取当前时间字符串添加到文件结尾
now=$(date +"%Y_%m_%d_%H_%M_%S")

#指定项目的scheme名称
scheme="HuaXiApp"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数
export_method='ad-hoc'

#指定项目地址
workspace_path="$project_path/HuaXiApp.xcodeproj/project.xcworkspace/"
#指定输出路径
output_path="$project_path/build"
#指定输出归档文件地址
archive_path="$output_path/Demo_${now}.xcarchive"
#指定输出ipa地址
ipa_path="$output_path/Demo_${now}.ipa"
#指定输出ipa名称
ipa_name="Demo_${now}.ipa"
#获取执行命令时的commit message
commit_msg="$1"

#输出设定的变量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="

#先清空前一次build
fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}


#输出总用时
echo "===Finished. Total time: ${SECONDS}s==="

  

posted @ 2017-01-04 15:50  YatHo  Views(1942)  Comments(0Edit  收藏  举报