zoukankan      html  css  js  c++  java
  • ios持续集成之Jenkins使用

    本文将介绍如何使用jenkins自动打包部署内测应用

    1、安装jenkins:brew install jenkins

    2、安装jenkins插件:登录到jenkins->管理插件:

    安装:Xcode integration,Workspace Cleanup Plugin,Timestamper,SSHSlaves plugin,SICCI For Xcode Plugin

    Pipline,Perfecto Mobile Plugin,GitHub Organization Folder Plugin,Email Extension Template Plugin,Credentials Binding Plugin,build timeout plugin,Appaloosa Plugin

    3、配置jenkins:

    a、新建应用:点击jenkins首页->新建->构建一个自由风格的软件项目(如果你的项目是一个新建配置环境的工程,可以在最后copy from 然后输入之前创建好的项目,这时候你新建的项目配置会和你输入的项目的配置一摸一样。多个工程使用这种方式比较快速新建项目,毕竟只要改改项目位置,名字,证书就可以了),点击ok/确定

    b、项目名称会作为jenkins中.workspace文件夹下你项目的根目录名(相同应用可以用在jenkins上配置不同项目名称来配置项目名)

    c、配置项目常规的选项:通用中有很多选项可供选择。这些不会影像项目生成方式。可以自己研究一下。

    d、源码管理:源码管理有3个选项:None,Git,Subversion,这是构建代码的出处,配置git,或svn环境时要配置对应的账号信息

    e、构建触发器:这里是如何出发jenkins构建项目的,不配置的话就是手动构建,我们现在是让测试人员主动登录jenkins去构建项目。

    f、构建环境:这边我选了每次开始构建时都删除workspace中的文件。这样可以保证每次构建的工程肯定是最新的工程

    g、(Shell配置)归档和ipa生成脚本和上传到指定分发部署平台配置:

    * 由于归档和ipa最终要输出到jenkins运行的机子上,所以我在机子上建了一个文件夹用于存放归档和ipa文件的如~/Document/builds

    *add Execute shells:

    第一个shell

    rm -rf ~/Documents/builds/***.archive

    rm -rf ~/Documents/builds/***.ipa

    这个操作是将之前的归档和ipa删除

    第二个shell

    xcodebuild -archivePath '~/Documents/builds/*.xcarchive' -workspace ***.xcworkspace -sdk iphoneos -scheme "***[scheme name]" -configuration "Debug" archive

    这个shell能够帮你生成一个archive文件然后输出到~/Documents/builds/文件夹下

    第三个shell

    xcodebuild -exportArchive -archivePath "~/Documents/builds/***.xcarchive" -exportPath "~/Documents/builds/" -exportOptionsPlist "~/Documents/***.plist" CODE_SIGN_IDENTITY="iPhone Developer: *** (***)"
    PROVISIONING_PROFILE="****-e398-4784-a96d-*******"

    这个shell是从归档文件输出ipa到~/Documents/Builds/文件夹下

    注意到上面又一个-exportOptionsPlist *** .plist 这个是xcode7后xcodebuild生成ipa需要的一个plist,这个plist可以通过xcodebuild命令--help来看到具体里面的参数名使用方法说明等。

    第四个shell

    curl -F "file=@~/Documents/builds/***.ipa" -F "uKey=***" -F "_api_key=***" https://www.pgyer.com/apiv1/app/upload

    这个shell是将ipa上传到蒲公英(当然你的自己配置ipa上传到自己的部署环境去)

    注意点:上面的~/ 如果识别不出来就直接用你电脑的绝对路径就可以了

  • 相关阅读:
    Win Form 项目中app.config读取和修改 [ZT]
    实现全站统一的Page_PreInit()等事件
    DateTime的所有格式化输出
    大三下的半学期快过去了。。
    SQL Server 中易混淆的数据类型
    解决RD2作业在IE和Fire Fox中CSS效果不同的问题~
    AJAX也广告?
    App_Code目录下的全局类
    怀疑我不是那种材料。。
    用了几天Asp.Net 2.0遇到的几个小问题
  • 原文地址:https://www.cnblogs.com/codetime/p/6830345.html
Copyright © 2011-2022 走看看