• 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==="
    

      

  • 相关阅读:
    php 高并发
    mysql 基础明细
    关于高并发和秒杀系统,你知道的和不知道的一些事
    carbon
    自定义tarbar
    学习小参考
    lnmp1.4,400,500,错误
    PHPSTORM+Thinkphp3.2模板标签替换Thinkphp5.1公式
    Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录
    CentOS7 最小化安装vmware-tools
  • 原文地址:https://www.cnblogs.com/YatHo/p/6248966.html
Copyright © 2020-2023  润新知