• iOS 集成Jenkins 完整流程 (自由风格)


    一 、安装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 访问

  • 相关阅读:
    Chapter9.3:线性系统的状态空间分析与综合(上)
    C++ set 的使用
    茶叶的保健作用与有益成分
    网络编程(三)UDP TFTP协议
    Mysql数据库基础总结:
    kubernetes Service详解
    GEE:计算和打印GEE程序的执行时间
    解密数字经济时代,元宇宙企业如何重塑商业价值?
    PythonAppium自动化测试环境搭建
    cannot allocate memory in static TLS block
  • 原文地址:https://blog.csdn.net/LIUXIAOXIAOBO/article/details/127039997