• Jenkins 独立自动化打包ipa


    Jenkins的安装,及基本配置

    基本配置一致,Execute shell不同。

    一、首先配置证书等

      在首界面,点击系统配置-管理插件-可选插件(搜索key)-选中Keychains and Provisioning Profiles Management直接安装,

      安装完成之后,回到系统配置界面,点击Keychains and Provisioning Profiles Management选项,如下图所示:

        

      

      

      

      

      进入Keychains and Provisioning Profiles Management配置界面,如下图所示:

      

      选择文件login.keychain((command+shift+G前往文件夹)~/Library/Keychains/login.keychain)配置需要的证书及配置文件,选择好之后点击Upload,

      输入管理员密码,复制证书的全名(如果不知道,可以打开钥匙串找到证书,右键显示简介复制名称),Provisioning Profiles路径一般在

      /User/用户名/Library/MobileDevice/Provisioning Profiles,配置完成点击Save。如下图所示:

      这个Keychain其实在/Users/管理员用户名/Library/keychains/login.keychain,当把这个Keychain设置好了之后,Jenkins会把这个Keychain拷贝到Jenkins/Library/keychains这里,(Library是隐藏文件)。Provisioning Profiles文件也直接拷贝到  Jenkins/Library/MobileDevice文件目录下。

        

      

    二、构建项目的基本配置一样,脚本不同,如下图所示:

      

      关键的就是xcodebuild。

      脚本:

    # 工程名
    APP_NAME="xxx"
    # 证书
    CODE_SIGN_DISTRIBUTION="iPhone Distribution: xxx, Ltd."
    # info.plist路径
    project_infoplist_path="./${APP_NAME}/Info.plist"
    
    #取版本号
    #bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")
    
    #取build值
    #bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")
    
    #DATE="$(date +%Y%m%d)"
    #IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}.ipa"
    
    #要上传的ipa文件路径
    #IPA_PATH="$JENKINS_HOME/${IPANAME}"
    #打印ipa路径
    #echo ${IPA_PATH}
    
    echo "=================clean================="
    
    xcodebuild -target "${APP_NAME}"  -configuration 'Release' clean
    
    echo "+++++++++++++++++build+++++++++++++++++"
    
    #路径根据jenkins路径相关
    xcodebuild -archivePath "/Users/xxx/.jenkins/Home/workspace/semf-ios/build/Release-iphoneos/$APP_NAME.xcarchive" -project $APP_NAME.xcodeproj -sdk iphoneos -scheme "$APP_NAME" -configuration "Release" archive
     
    echo "+++++++++++++++++ipa+++++++++++++++++"
    #这里ExportOptions.plist需要注意,这个文件是手动添加到/Users/Datacvg/.jenkins/Home/workspace/semf-ios/,这个plist文件可以是使用xcode打包时自动生成的文件,复制到文件夹里面。(Home/workspace,Home不要弄错)
    #路径可以使用变量,这里写死了
    xcodebuild -exportArchive -archivePath "/Users/xxx/.jenkins/Home/workspace/semf-ios/build/Release-iphoneos/$APP_NAME.xcarchive" -exportPath "/Users/xxx/.jenkins/Home/workspace/semf-ios/build/ipa" -exportOptionsPlist '/Users/xxx/.jenkins/Home/workspace/semf-ios/ExportOptions.plist' -allowProvisioningUpdates

      点击应用,返回立即构建,结果如下图所示:

      

    上面Exported就是ipa的路径。

      Android 打包apk

        需要在系统管理中配置全局变量,环境变量,如下图所示:

         

      项目中的基本配置基本相同,执行命令脚本Execute shell不同,chmod +x gradlew权限问题;

      chmod +x gradlew
      ./gradlew assemblerelease

      或者./gradlew build

      如下图所示:

       

      结果,如下图所示:

      

  • 相关阅读:
    django--模型层(orm)-查询补充及cookie
    django-模型层(model)-多表相关操作(图书管理练习)
    Linux-正则表达式与三剑客
    网络配置命令优先级和元字符
    Linux-Nginx和NFS
    Linux-内存进程和软件安装
    乌龟棋
    倍增 Tarjan 求LCA
    切蛋糕
    HDU1505 City Game/玉蟾宫/全0子矩阵 悬线法
  • 原文地址:https://www.cnblogs.com/lulushen/p/8759503.html
Copyright © 2020-2023  润新知