Jenkins自动化构建项目打包的实现(上)

探究了一下jenkins自动化构建项目打包的流程实现:本篇文章主要讲的是实现,在下一篇文章中,实现脚本自动化

引用:

Jenkins做的操作其实很简单,它只是将我们平时做的每一步重复的操作自动化了而已。因此,iOS中Jenkins要做的分为以下几步:
1.拉取远端代码
2.由于某种条件触发后开始自动编译,打包
3.将生成的ipa文件上传到指定位置,供测试下载测试
这三步中,每一步Jenkins什么都没做,它只是调用了Mac中的一些工具,具体的说就是使用了命令行工具。有的做成了可视化的插件,有的还是要通过自己写命令来实现。典型的就是编译和打包的命令是调用xcodebuild命令。

首先,我们通过命令行进行打包ipa文件


    /*
     * 本命令指示clean清理,即使不使用,也不影响后面的操作
     */
    xcodebuild clean -workspace Rongshu.xcworkspace -scheme 项目名 -configuration Release或者Debug

    /*
     * param: archive文件的路径,比如:/Users/bairong/Desktop/demo demo直接就是archive包的名字了
     */
    xcodebuild archive -workspace 项目名.xcworkspace -scheme 项目名 -archivePath param    
    
    
    /*
     * param1 : 第二步中生成的archive包的路径
     * param2 : 盛放.ipa包的文件夹路径 /User/XXX/Desktop/XXX
     * param3 : ExportOptions.plist文件的路径,这个文件需要我们先创建好,然后传入路径,这个文件里,可以指定development、ad-hoc,我们用xcode生成的ipa文件夹中有这个文件
     */
    xcodebuild -exportArchive -archivePath "<param1>" -exportPath param2 -exportOptionsPlist "<param3>"
    
    
    
遇见问题:
    1. 第一次很顺利,第二次报错code = 9,证书找不到,然后处理措施:
        1.关闭自动匹配描述证书,不行 
        2.在ExportOptions.plist中增加provisioningProfiles这个key,然后写入证书信息,还是不行 
        3. 将证书在钥匙串中从登录移动到系统,还是不行
     额...然后所有都还原,重启终端客户端,又好了。。。
    
参考链接:
https://blog.csdn.net/yuanmengong886/article/details/78214978
https://blog.csdn.net/qq_34047841/article/details/54144149

ipa文件

实际上就是一个 zip 文件,我们使用系统的 zip 命令来生成 ipa 文件即可。(可以解压)

文件夹目录:
    Payload: .app文件
    SwiftSupport: 一些iphoneos .dylib文件
    Symbols: .symbols文件

如何生成让设备可以直接安装的扫描二维码、html链接

苹果允许用 itms-services 协议来直接在 iphone/ipad 上安装应用程序

前提条件:

  1. 一个指定格式的plist文件(其中包含ipa的URL地址)
<?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>items</key>
        <array>
            <dict>
                <key>assets</key>
                <array>
                    <dict>
                        <key>kind</key>
                        <string>software-package</string>
                        <key>url</key>
                        <string>https://xxx.com/packageDownloader/ios/xxx/xxx.ipa</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>bundle id</string>
                    <key>bundle-version</key>
                    <string>版本号</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>xxx</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>
  1. 一个符合苹果规范的链接(其中包含plist文件的url):

     itms-services://?action=download-manifest&url=https://****/***.plist
    

坑1: Safari直接访问itms-services:/ / 协议链接,会提示打不开该网页,因为链接无效,在网页上通过点击a超链接或者扫描二维码(二维码信息为这个链接)就会弹出弹窗,下载应用

坑2: 在iOS 7.1版本之后,通过itms-service安装应用时,要求itms-service协议后面的url的值即plist文件的地址必须为https地址,且设备必须信任此https服务器的SSL证书(网上有说:必须是公网ssl,自签名及免费的https不可用。这个限于条件就没验证了)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容