精华内容
参与话题
问答
  • Xcode自动化打包

    2018-11-10 15:16:30
    iOS 自动化打包脚本,并上传*ipa*文件至蒲公英。参数说明: ``` Usage: autobuild.py [options] Options: -h, --help show this help message and exit -w name.xcworkspace, --workspace=name.xcworkspace ...
  • 最近尝试学习jenkins 自动化打包ipa,但是卡在了 Keychains and Provisioning Profiles Management的配置上。 所有教程都显示在Keychains and Provisioning Profiles Management配置页面上传login.keychain...
  • 我用perl写了一个自动化部署的脚本,可以给中小开发者一些自动化的学习和提示。 首先你使用的是windows server,在本地安装了perl,然后在perl里安装几个包,在服务器上安装ftp server ,打开服务器的telnet端口,...
  • 通常一个项目发布的过程是: 1.将应用服务打包 ...1.自动化打包: @echo off echo "Automatic compression" goto start 介绍:自动化压缩项目文件; 使用方法: 配置xxxEnable,表示该xxx应用...

    通常一个项目发布的过程是:
    1.将应用服务打包
    2.拷贝到对应的tomcat下
    3.重启tomcat
    4.备份

    如何做到自动化来节省发布的时间?
    写了一个windows的脚本,
    1.自动化打包:

    
     @echo off
    echo "Automatic compression"
    goto start
    介绍:自动化压缩项目文件;
    使用方法:
    配置xxxEnable,表示该xxx应用要打包。
    配置xxxFromPath(xxx应用class目录)
    
    :start
    
    ::=======================我是分割线====================
    ::配置
    
    ::下面adminEnable、mainWebEnable...
    ::意思是配置admin,main-web...是否打包,1为打包,0为不打包
    set adminEnable=1
    set mainWebEnable=1
    set serviceEnable=1
    set mobileEnable=1
    
    set logFolder=logs
    
    ::7zip安装目录
    set zipToolPath=C:\Program Files\7-Zip\7z.exe
    
    ::要打包的根目录
    set zipSource=D:\qbzh_package\qbzhPackage\
    ::打的包放在的地方
    set zipResult=D:\qbzh_package\qbzhPackage\qbzhPackage.zip
    
    ::admin的class目录
    set adminFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp6\wtpwebapps\qbzh-admin\*.*
    ::admin 复制后的目录
    set adminToPath=D:\qbzh_package\qbzhPackage\qbzh-admin\
    
    ::mainWeb的class目录
    set mainWebFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\qbzh-main-web\*.*
    ::mainWeb复制后的目录
    set mainWebToPath=D:\qbzh_package\qbzhPackage\main-web\
    
    ::service的class目录
    set serviceFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\qbzh-service\*.*
    ::service复制后的目录
    set serviceToPath=D:\qbzh_package\qbzhPackage\qbzh\
    
    ::mobile的class目录
    set mobileFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\wtpwebapps\qbzh-mobile-api\*.*
    ::mobile复制后的目录
    set mobileToPath=D:\qbzh_package\qbzhPackage\mobile\
    
    ::配置结束
    ::=======================我是分割线====================
    pause
    rd /s /q "%zipSource%"
    
    if %adminEnable% == 1 (
        xcopy %adminFromPath% %adminToPath% /s /e /c /y /h /r
    )
    if %mainWebEnable% == 1 (
        xcopy %mainWebFromPath% %mainWebToPath% /s /e /c /y /h /r
    )
    if %serviceEnable% == 1 (
        xcopy %serviceFromPath% %serviceToPath% /s /e /c /y /h /r
    )
    if %mobileEnable% == 1 (
        xcopy %mobileFromPath% %mobileToPath% /s /e /c /y /h /r
    )
    
    "%zipToolPath%" a %zipResult% %zipSource%
    echo "Automatic compression over"
    pause
    
    

    2.自动化发布备份

    
     @echo off
    echo "Automatic install"
    goto start
    
    使用方法:
    配置
    
    等等等等
    
    :start
    
    ::=======================我是分割线====================
    ::配置
    
    ::下面adminEnable、mainWebEnable...意思是这几个项目要重新打包运行
    ::配置admin,main-web...是否打包,1为打包,0为不打包
    echo "请务必确认要更新的应用服务"
    pause
    set /p version=请输入版本号并按回车;
    
    set adminEnable=1
    set mainWebEnable=0
    set serviceEnable=0
    set mobileEnable=0
    
    set logFolder=logs
    
    ::7zip安装目录
    set zipToolPath=C:\Program Files\7-Zip\7z.exe
    
    set upzipPath=\qbzhResult
    
    ::要打包的根目录
    set zipSource=D:\qbzh_package\qbzhPackage\
    ::打的包放在的地方
    set zipResult=D:\qbzh_package\qbzhPackage\qbzhPackage.zip
    
    ::admin的
    set adminFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\qbzh-admin\*.*
    ::admin 复制后的目录
    set adminToPath=D:\api\qbzh-admin\webapps\qbzh-admin\
    set adminTomatPath=D:\api\qbzh-admin
    
    ::mainWeb的class目录
    set mainWebFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\main-web\*.*
    ::mainWeb复制后的目录
    set mainWebToPath=D:\api\qbzh-main-web\webapps\qbzh-main-web\
    set mainWebTomcatPath=D:\api\qbzh-main-web
    
    ::service的class目录
    set serviceFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\qbzh\*.*
    ::service复制后的目录
    set serviceToPath=D:\api\qbzh-service\webapps\qbzh\
    set serviceTomcatPath=D:\api\qbzh-service
    
    ::mobile的class目录
    set mobileFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\mobile\*.*
    ::mobile复制后的目录
    set mobileToPath=D:\api\qbzh-mobile-api\webapps\qbzh-mobile-api\
    set mobileTomcatPath=D:\api\qbzh-mobile-api
    
    ::配置结束
    ::=======================我是分割线====================
    
    rd /s /q "%zipSource%"%upzipPath%
    
    ::备份
    echo "备份"
    ::pause
    xcopy %zipResult% D:\package-back\%version%\ /s /e /c /y /h /r
    ren D:\package-back\%version%\qbzhPackage.zip qbzhPackage%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.zip
    
    
    echo "解压"
    ::pause
    ::解压
    "%zipToolPath%" x "%zipResult%" -y -aos -o"%zipSource%"%upzipPath%
    
    echo "copy"
    ::pause
    if %adminEnable% == 1 (
        echo "admin"
        ::pause
        set CATALINA_HOME="%adminTomatPath%"
        call %adminTomatPath%\bin\shutdown.bat
        ping 127.0.0.1 -n 10
        rd /s /q  %adminToPath%
        echo "delete adminToPath"
        xcopy %adminFromPath% %adminToPath% /s /e /c /y /h /r
        call %adminTomatPath%\bin\startup.bat
        ping 127.0.0.1 -n 10
    )
    if %mainWebEnable% == 1 (
        set CATALINA_HOME="%mainWebTomcatPath%"
        echo "mainWeb"
        ::pause
        call %mainWebTomcatPath%\bin\shutdown.bat
        ping 127.0.0.1 -n 10
        rd /s /q  %mainWebToPath%
        xcopy %mainWebFromPath% %mainWebToPath% /s /e /c /y /h /r
        call %mainWebTomcatPath%\bin\startup.bat
        ping 127.0.0.1 -n 10
    )
    if %serviceEnable% == 1 (
        set CATALINA_HOME="%serviceTomcatPath%"
        echo "service"
        ::pause
        call %serviceTomcatPath%\bin\shutdown.bat
        ping 127.0.0.1 -n 10
        rd /s /q  %serviceToPath%
        xcopy %serviceFromPath% %serviceToPath% /s /e /c /y /h /r
        call %serviceTomcatPath%\bin\startup.bat
        ping 127.0.0.1 -n 10
    )
    if %mobileEnable% == 1 (
        set CATALINA_HOME="%mobileTomcatPath%"
        echo "mobile"
        ::pause
        call %mobileTomcatPath%\bin\shutdown.bat
        ping 127.0.0.1 -n 10
        rd /s /q  %mobileToPath%
        xcopy %mobileFromPath% %mobileToPath% /s /e /c /y /h /r
        call %mobileTomcatPath%\bin\startup.bat
        ping 127.0.0.1 -n 10
    )
    echo "部署完成!!!"
    pause
    
    
    
    展开全文
  • 用jenkins自动化打包,用没有greendao的工程,可以正常打包成功,但是使用了greendao的工程,则一直报错: ![图片说明](https://img-ask.csdn.net/upload/201909/11/1568173687_144247.png) gradle命令是: !...
  • react native 自动化打包工具
  • 主要给大家介绍了关于Python的iOS自动化打包的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 转至[http://www.cnblogs.com/zhaoyanjun/], 如有异议请联系我删除! 文章目录 安装Tomcat Jenkins 部署到 Tomcat 填写 Jenkins 超级管理员密码 Jenkins 插件安装和超级管理员配置 ...Jenkins 全局配置

    转至[http://www.cnblogs.com/zhaoyanjun/], 如有异议请联系我删除!


    文章目录

    1. 安装Tomcat

    2. Jenkins 部署到 Tomcat

    3. 填写 Jenkins 超级管理员密码

    4. Jenkins 插件安装和超级管理员配置

    5. 创建任务

    6. 项目仓库配置

    7. Jenkins 全局配置

    8. 创建 Jenkins 构建任务

    9. 执行构建任务

    10. 构建结果

    11. 构建后操作

    12. 构建触发器


    1

    安装Tomcat

    进入 https://tomcat.apache.org/ 官网,下载最新的 tomcat 安装包并且安装。

    安装完成后,启动 tomcat 后,在浏览器中输入 http://localhost:8080/ , 如果看到下面的界面,那么tomcat 就安装配置好了。


    2

    Jenkins 部署到 Tomcat

    进入jenkins 的官网 https://jenkins.io/ , 根据你搭建平台的不同,下载 jenkins war 包 ,我们这里用 windows 平台做演示。

    war 包如下图所示

    把 war 包放在 tomcat 的 webapps 目录下,如下图所示:

    然后在浏览器中访问 :http://localhost:8080/jenkins/ , 你将会看到如下界面 , 代表 Jenkins 已经部署完成了,下一步安装 Jenkins.


    3

    填写 Jenkins 超级管理员密码

    在上图的输入框内要输入超级管理员权限的密码,这个 密码在红色路径的文件里 ,输入密码后,点击 continue , 如下图所示:


    4

    Jenkins 插件安装和超级管理员配置

    填写完密码后,将会看到插件安装界面

    我们选择第一项,安装默认Jenkins插件。安装插件过程如下图所示:

    等所有的插件都安装完成,我们将会看到用户名设置界面。

    这个界面你有两个选择可以操作


    选择一:直接点击 Continue as Admin 安装,默认此时的超级管理员为 admin .


    选择二:输入用户名,密码,确认密码,全名,电子邮件地址。然后点击 Save and Finish . 注意你输入的用户名就是 Jenkins 的超级管理员。需要注意的是,上面的每一项都需要填写,否则点击 Save and Finish 按钮没有效果。


    等上面的步骤都操作完毕,你将会看到如下界面,代表 Jenkins 的插件安装和超级管理员已经配置好了。


    5

    创建任务

    点击创建一个新的任务,如下图所示:


    6

    项目仓库配置

    1、选择源码管理工具,Git 或者 Subversion . 下面我们的演示选择 Git.


    2、填写 Git 仓库地址


    3、选择 Git 证书凭证, 如果没有创建过证书,显示 none , 可以点击右边的 Add 按钮添加一个证书凭证。


    4、添加证书凭证,添加的方法详见下面的图。


    5、选择 Git 仓库的分支


    6、源码浏览器,Git 有很多管理器,我们这里选择自动就好了。


    • 添加证书


    从 Git 上拉取代码,有两种方式:用户名+密码、SSH . 根据自己的需要选择。

    填写 Git 仓库的用户名和密码


    7

    Jenkins 全局配置

    JDK 和 Gradle 配置

    由于Android 是基于 java 的,我们需要配置 JDK;由于我们用 Gradle 构建Android 项目,我们需要设置 Gradle 的环境 。

    在 系统管理 --> Global Tool Configuration


    Android SDK 配置

    系统管理 --> 系统设置 -- 全局属性

    在 Environment variables 里面增加一个键值对.
    键:ANDROID_HOME
    值:SDK 路径


    8

    创建 Jenkins 构建任务

    1、代表配置的项目


    2、构建模块


    3、选择 Gradle 构建工具的版本号,可以选择默认构建版本号,也可以选择自己自定的版本号。


    4、填写 Gradle 构建任务

    • 打 release 包

      app:clean : 清除....../app目录下的build文件夹

      app:assembleRelease : 编译并打Release的包


    • 打 debug 包

    • app:clean : 清除....../app目录下的build文件夹

      app:assembleDebug: 编译并打Debug的包


    • 同时打 debug 包和 release 包

    • app:cleanapp:assembleDebug app:assembleRelease


    9

    执行构建任务

    点击立即构建按钮,开始执行构建任务。

    1、点击立即构建,开始执行构建任务


    2、进度条,表示正在构建的项目。


    3、蓝色的图标表示构建成功


    4、红色的图标表示构建失败


    点击正在构建的条目,可以进入正在构建的信息。

    • 状态集:构建人用户名、构建git 节点


    • Console Output:构建过程中的输出控制台,会输出构建过程中的详细信息,这个功能很重要,如果构建失败,可以从这里找到错误的原因。


    • 编辑编译信息:每次构建任务的时候,构建名字是数字形式叠加,这里可以自定义构建任务的名字。


    • Git Build Data:本次构建 Git 仓库的相关信息。


    10

    构建结果

    在 Console Output 面板中,出现了 BUILD SUCCESSFUL , 代表任务构建成功。


    11

    构建后操作

    fir 是国内提供测试应用极速发布,应用崩溃实时分析、用户反馈收集等一系列开发测试效率工具服务,帮助开发者将更多精力放在产品的开发与应用的优化上。

    官网: https://fir.im/

    登录后,在 fir 官网的个人资料中, 可以找到 API Token , 这个 token 我们在后面会用到。

    fir.im Jenkins 插件使用方法: http://blog.fir.im/jenkins/


    下载插件

    Jenkins 构建完成后,生成的 apk 文件,我们通过插件的方式上传到 fir . 通过上面的连接,我们下载 Jenkins 的 fir 插件到本地。


    安装插件

    系统管理 --> 插件管理 --> 高级 --> 上传插件


    使用插件

    配置 --> 构建后操作 --> 增加构建后操作步骤 --> Upload to fir.im

    填写 API Token

    构建结果

    通过日志看到上传 fir 成功。


    总结

    到这里关于 Jenkins 的自动化打包的主要内容已经介绍完了。下面将会介绍一些附加的操作,能够更好的使用 Jenkins .


    12

    构建触发器

    在上面部分我们发起构建的命令是点击 立即构建 的按钮,Jenkins 里面有构建触发器的方式,提供远程构建任务。

    1、触发远程构建 (例如,使用脚本):填入身份验证令牌,可以随便填写,我们这里填入 123456 , 填写完成后,在输入框的下方有提醒:


    Use the following URL to trigger build remotely: JENKINS_URL/job/AppTest/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAMEOptionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.


    根据提示,我们自浏览器中访问地址: http://127.0.0.1:9999/jenkins/job/AppTest/build?token=123456 , 这样就可以触发构建任务。


    2、Build after other projects are built : 在其他任务结束后,开始本次构建任务。


    示例:在 AppTest1 项目构建成功后,开始本次构建任务。

    ①Trigger only if build is stable:其他项目构建成功


    ②Trigger even if the build is unstable:其他项目不稳定


    ③Trigger even if the build fails:其他项目构建失败

    • Build periodically:周期进行构建(它不关心源码是否发生变化)


    日程表:

    示例:

    注意

    1、在日程表中,# 可以代表注释,但是需要单独写一行。


    2、官方日程表语法:https://en.wikipedia.org/wiki/Cron#CRON_expression


    3、日程表的语法字段遵循cron的语法(略有不同)。 具体来说,每行由5个由TAB或空格分隔的字段组成:MINUTE HOUR DAY MONTH WEEK


    4、时间顺序和: MINUTE (0-59), HOUR (0-23), DAY (1-31), MONTH (1-12), DAY OF THE WEEK (0-7)


    其他的日程表:

    GitHub hook trigger for GITScm polling:hookplugin 检测到源码的 push 操作触发构建 , 感觉Poll SCM 更方便些,如果提交频繁,则这个触发就会频繁,看业务需要设置。


    Poll SCM : 定时检查源码变更(根据SCM软件的版本号),如果有更新就 checkout 最新code下来,然后执行构建动作。


    日程表示例:

    示例:



    展开全文
  • 主要介绍了Python实现iOS自动化打包详解步骤,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 傻瓜式打包脚本,一键操作,简单快捷。。。。。。。。。。。
  • jenkins自动化打包问题

    2018-05-16 08:13:15
    jenkins打包过程中报错如图![图片说明](https://img-ask.csdn.net/upload/201805/16/1526458288_520313.png)
  • 安装完成之后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080,如下图所示。 按照提示,打开/Users/Shared/Jenkins/Home/secrets/initialAdminPassword路径,然后更改secrets文

    安装Jenkins

    首先,从官网上下载最新的pkg安装包,然后进行安装。如果要下载历史版本,可以使用下面的地址进行下载:http://mirrors.jenkins.io/osx/。下载完后,点击安装即可,如下图所示。
    在这里插入图片描述
    安装完成之后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080,如下图所示。
    在这里插入图片描述
    按照提示,打开/Users/Shared/Jenkins/Home/secrets/initialAdminPassword路径,然后更改secrets文件夹的everyone的权限,打开initialAdminPassword文件,复制出密码,粘贴到网页的输入框中。
    在这里插入图片描述
    然后就可以安装插件了,如下图所示。
    在这里插入图片描述
    安装完成后,Jenkins会让你创建管理员用户和密码,如下图所示。
    在这里插入图片描述
    按照要求填写对应的内容后,打开Jenkins,系统会要求添加实例配置,如下所示。
    在这里插入图片描述
    在这里插入图片描述
    Jenkins安装完毕,点击start using jenkins 按钮,即可进入Jenkins管理页面,如下图所示。
    在这里插入图片描述

    Android工程配置

    点击主页面的【新建一个新任务】按钮,然后输入任务名称,如下图所示。
    在这里插入图片描述
    然后,需要依次配置模块为:General->源码管理->构建触发器->构建环境->构建->构建后操作。其中,General模块主要填写三个地方:项目名称及描述、丢弃旧的构建、参数化构建过程。

    General

    在这里插入图片描述
    其他的配置可以根据实际情况进行配置。源码管理模块,配置的是SVN的地址及账号,如果使用的是Git,选择Git即可。

    源码管理

    在这里插入图片描述

    构建触发器

    构建触发器模块,可根据需要选择性勾选Build periodically选项,即按照预先设定的时间自动化构建。日程表的填写内容有5个参数,从左到右的参数含义如下:

    • 第1个参数:分钟 minute,取值 0~59;
    • 第2个参数:小时 hour,取值 0~23;
    • 第3个参数:天 day,取值 1~31;
    • 第4个参数:月 month,取值 1~12;
    • 第5个参数:星期 week,取值 0~7,0 和 7 都是表示星期天;

    5个参数可选择性设定,不写死的参数用 * 号代替,参数之间用空格隔开。例如"0 21 * * *"表示每晚21点0分自动化构建一次,"0 * * * *"表示每个小时的第0分钟执行一次构建等。
    在这里插入图片描述

    构建环境

    构建环境模块需要安装一个NodeJS插件,此时先点击保存按钮保存配置好的参数,然后点击左上角的Jenkins,找到系统管理,点击管理插件,点击可选插件,在过滤条中输入"NodeJS",查找到NodeJS Plugin插件,直接安装此插件。
    在这里插入图片描述
    在这里插入图片描述
    安装完成后回到系统管理,点击Global Tool Configuration工具,找到NodeJS选项配置插件,自定义别名,安装目录填写“/usr/local”,点击左下角保存按钮。
    在这里插入图片描述
    还没写完,后期补上

    展开全文
  • iOS自动化打包

    千次阅读 2017-05-25 15:58:58
    从这个报错开始xcodebuild: error: invalid option ‘-exportFormat’说起吧。 产生原因:x-code8之后,对之前的exportFormat方式不在支持了,所以报错。之前的老方式 archive_dir = archive的地址 ...

    从这个报错开始xcodebuild: error: invalid option ‘-exportFormat’说起吧。

    • 产生原因:x-code8之后,对之前的exportFormat方式不在支持了,所以报错。之前的老方式
      archive_dir = archive的地址
      ipa_dir = 生成ipa的地址 e.g. x/x/x.ipa
      PROVISIONING_PROFILE = 签名 e.g. x_dev.mobileprovision 为x_dev

      xcodebuild -exportArchive -exportFormat IPA -archivePath ' + archive_dir() + ' -exportPath ' + ipa_dir + ' -exportProvisioningProfile ' + PROVISIONING_PROFILE + '
    • 修改方法:
      干掉exportFormat IPA 引入exportOptionsPlist

      xcodebuild -exportArchive -exportOptionsPlist ' + OPTIONS_LIST_PATH +' -archivePath ' + archive_dir() \
      + ' -exportPath ' + ipa_dir() + ' PROVISIONING_PROFILE_SPECIFIER= ' + PROVISIONING_PROFILE 

      接下来研究一下exportOptionsPlist,直接食用xcodebuild -help查看。

      Available keys for -exportOptionsPlist:
      
      compileBitcode : Bool
      
          For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES.
      
      embedOnDemandResourcesAssetPacksInBundle : Bool
      
          For non-App Store exports, if the app uses On Demand Resources and this is YES, asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs. Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified.
      
      iCloudContainerEnvironment
      
          For non-App Store exports, if the app is using CloudKit, this configures the "com.apple.developer.icloud-container-environment" entitlement. Available options: Development and Production. Defaults to Development.
      
      manifest : Dictionary
      
          For non-App Store exports, users can download your app over the web by opening your distribution manifest file in a web browser. To generate a distribution manifest, the value of this key should be a dictionary with three sub-keys: appURL, displayImageURL, fullSizeImageURL. The additional sub-key assetPackManifestURL is required when using on demand resources.
      
      method : String
      
          Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package, enterprise, development, and developer-id. The list of options varies based on the type of archive. Defaults to development.
      
      onDemandResourcesAssetPacksBaseURL : String
      
          For non-App Store exports, if the app uses On Demand Resources and embedOnDemandResourcesAssetPacksInBundle isn't YES, this should be a base URL specifying where asset packs are going to be hosted. This configures the app to download asset packs from the specified URL.
      
      teamID : String
      
          The Developer Portal team to use for this export. Defaults to the team used to build the archive.
      
      thinning : String
      
          For non-App Store exports, should Xcode thin the package for one or more device variants? Available options: <none> (Xcode produces a non-thinned universal app), <thin-for-all-variants> (Xcode produces a universal app and all available thinned variants), or a model identifier for a specific device (e.g. "iPhone7,1"). Defaults to <none>.
      
      uploadBitcode : Bool
      
          For App Store exports, should the package include bitcode? Defaults to YES.
      
      uploadSymbols : Bool
      
          For App Store exports, should the package include symbols? Defaults to YES.

      接下来就很清晰了。
      来个例子

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>teamID</key>
      <string>xxxxxxx</string>
      <key>method</key>
      <string>ad-hoc</string>
      <key>compileBitcode</key>
      <false/>
      </dict>
      </plist>
      

      teamID通过x-code自找填入就可以。key一定区分大小写。teamID至关重要,打包会通过teamID找签名文件,默认为dev的teamID,如果配置的dev和ad_hoc,relese,appStore的bundleID不一致,一直会报错。

      XCode - No Provisioning profiles matching an applicable Signing identity were found

    中途遇到报错:

    Embedded binary is not signed with the same certificate as the parent app.
    
    • 这个问题在于我使用extension,两者配置的有偏差,主要在于一个为dev,另外一个dis这种错误。
    展开全文
  • iOS Jenkins 自动化打包

    千次阅读 2018-10-24 16:43:01
    Jenkins介绍 Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作...自动化流程 1、版本迭代完毕,已提交git服务器 2、执行jenkins构建操作,执行脚本完成签名、打包、上传分发...
  • Jenkins自动化打包

    2018-11-20 14:03:51
    一、启动Jenkins java -jar jenkins.war 访问http://localhost:8080 ... 安装默认的插件即可 二、系统管理 ...2、全局工具配置,配置JDK、MAVEN,一定要去掉自动安装的对勾 3、插件管理 默认的插...
  • android自动化打包

    2018-03-20 13:46:48
    参考: Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • Android自动化打包

    2017-07-10 11:24:38
    但是可能会涉及到多渠道打包和包名控制等问题,所以自动化打包还是蛮有必要的.. 我其实是觉得视图打包有点Low所以才学的... 一 : 生成签名文件  1 ,命令行运行一下命令  keytool -genkey -v -keystore my-release...
  • iphone 自动化打包

    2012-07-02 17:42:22
    摘要 随着苹果手持设备用户的不断增加,ios应用也增长迅速,同时随着iphone被越狱...Ios打包,app打包,iphone打包,iphone自动化打包,ios打渠道包,iphone自动化打渠道包 自动化打包背景介绍 1、
  • ios自动化打包

    2017-03-23 21:25:35
    本文最终实现的是使用脚本打 Ad-hoc 包,并发布测试,当然...xcodebuild 简介使用xcodebuild和xcrun打包签名将打包过程脚本 xcodebuild 简介 xcodebuild 是苹果提供的打包项目或者工程的命令,了解该命令最好的方式
  • jenkins自动化打包

    2019-08-21 14:18:06
    1、SOA微服务发布 2、tomcat打包服务
  • jenkins 自动化打包

    2016-01-24 20:20:39
    1.下载jenkins的war包,用tomact加载(需要根据jdk版本选择对应war包) 运行出现unsupported major.minor version 51.0,jdk升级到1.7或使用1.596之前的版本。  ...2.配置电脑运行变量 ...3.安装插
  • IOS自动化打包

    千次阅读 2012-09-20 16:50:21
    以下大家友情支持一下: 做了一个产品,需要人气支持一下,android和iphone上91市场搜索#super junior粉丝团#,或者直接... 1。iphone自动打包 http://3426724.blog.51cto.com/3416724/883484 http://www.coco

空空如也

1 2 3 4 5 ... 20
收藏数 6,368
精华内容 2,547
关键字:

自动化打包