美文网首页
jenkins + Git + fastlane + 蒲公英实现

jenkins + Git + fastlane + 蒲公英实现

作者: Moshimol | 来源:发表于2018-07-10 11:33 被阅读26次

    搭建Jenkins环境

    安装jenkins(需要安装java环境)

    jenkins官网下载或者是从清华大学开源镜像网站进行下载下载地址

    我自己安装的jenkins的包版本是jenkins-2.121.1.pkg

    安装完成后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080

    如果页面提示不能连接服务器的错误,重启电脑。然后再输入http://localhost:8080进入登录页面。

    根据提示,找到/Users/Shared/Jenkins/Home/ 这个目录,找到secrets文件,显示简介,设置所有人都可以读与写的权限,并找到initialAdminPassword文件,同样放开权限,复制出密码,登录进去,一路安装过来,输入用户名、密码、邮件等。最后点击Save and Finish。

    jenkins打包的相关插件

    1. 证书管理插件 链接

    2. xcode插件 链接

    3. 脚本执行插件 链接

    4. git插件 链接

    安装这几个插件,并且重启jenkins,下面是几个jenkins的相关东西

    1、重启Jenkies
    
        http://localhost:8080/restart
    
    2、重新加载配置信息
    
        http://localhost:8080/reload
    
    证书管理插件
    WechatIMG8.jpeg

    注 developer只是一个用于测试开发的证书,password 一定要填写正确的钥匙串的密码,Code Signing Identity 是从钥匙 找到相应的证书,然后显示简介复制来,这 Identities少要填两项,是因为这放个的话后的设置Code Signing Identity能动对应上。

    /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles
    

    移动复制相关文件

    把需要的文件移动到对用目录下

    一 、将/Users/用户名/Library的MobileDevice文件夹拷贝到/Users/Shared/Jenkins/Library下

    注意:是将MobileDevice这个文件夹拷贝过去,而不是MobileDevice里的文件,/Users/Shared/Jenkins/Library 目录下是没有MobileDevice这个文件夹,所以先创建一个MobileDevice文件夹。

    在终端输入

    sudo mkdir /Users/Shared/Jenkins/Library/MobileDevice
    sudo cp -r /Users/xxx/Library/MobileDevice/ /Users/Shared/Jenkins/Library/MobileDevice/
    

    如果没有mobileDevice这个文件夹,应该就是没有安装xcode

    二 、将/Users/用户名/Library/Keychains/下的login.keychain及login.keychain-db这两个文件拷贝到/Users/Shared/Jenkins/Library/Keychains文件夹下面
    注意:Mac OS 10.12以下的没有login.keychain-db这个文件,只需要拷贝login.keychain文件。
    

    在终端输入:

    cd /Users/Shared/Jenkins/Library/
    sudo mkdir Keychains
    sudo cp /Users/xxx/Library/Keychains/login.keychain ./Keychains/
    sudo cp /Users/xxx/Library/Keychains/login.keychain-db ./Keychains/
    

    再将这个login.keychain拷贝到桌面上 如果没有login.keychain,请把login.keychain -db改为login.keychain

    三 、 钥匙串权限、~/Library权限以及电脑用户管理权限
    WechatIMG6.jpeg

    点击显示简介,更改相关权限

    WechatIMG7.jpeg
    四 、 找到Library资源库文件夹,设置共享与访问权限,everyone读与写都可以,并且应用于下层目录

    开始构建项目

    构建操作,起名字点击输入一个任务名称,选择构建一个自由风格
    WechatIMG9.jpeg
    git拉取代码,并且把相关git相关上传到全局变量
    WechatIMG13.jpeg

    把这个东西作为全局变量复制到对应的地方

    WechatIMG10.jpeg
    Keychains and Code Signing Identities
    WechatIMG11.jpeg

    注意第一次选择,可能不会出现Code Signing Identity,这个时候,保存项目再退出来后再进去就是可以看到了

    上传蒲公英的相关操作
    WechatIMG12.jpeg

    fastlane搭建

    fastlane 介绍

    fastlane 是一款为 iOS 和 Android 开发者提供的自动化构建工具,它可以帮助开发者将 App 打包、签名、测试、发布、信息整理、提交 App Store 等工作完整的连接起来,实现完全自动化的工作流,如果使用得当,可以显著的提高开发者的开发效率。

    依赖环境:
    Xcode7+
    macOS or Linux with Ruby 2.0.0 +

    安装fastlane
    $ sudo gem install fastlane
    
    如果报错:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander 
    使用: sudo gem install -n /usr/local/bin fastlane
    

    cd到对应的目录,使用fastlane init 我选择的是4。目录的结构是

    WechatIMG14.jpeg

    fastlane的文件代码操作
    注意:一定要安装执行下面的命令

    fastlane add_plugin pgyer
    

    [图片上传失败...(image-111f54-1531193590583)]

    # This file contains the fastlane.tools configuration
    # You can find the documentation at https://docs.fastlane.tools
    #
    # For a list of all available actions, check out
    #
    #     https://docs.fastlane.tools/actions
    #
    # For a list of all available plugins, check out
    #
    #     https://docs.fastlane.tools/plugins/available-plugins
    #
    
    # Uncomment the line if you want fastlane to automatically update itself
    # update_fastlane
    
    default_platform(:ios)
    
    # 定义fastlane版本号
    fastlane_version “2.99.0”
    
    # 定义打包平台
    default_platform :ios
    
    lane :beta do
      gym(
    #输出的ipa名称
    output_name:”QKiOS_IPA”,
    # 是否清空以前的编译信息 true:是
    clean:true,
    # 指定打包方式,Release 或者 Debug
    configuration:"Debug",
    # 指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development
    export_method:"development",
    # 指定输出文件夹
    output_directory:"./fastlane/build",
    )
    pgyer(api_key: "蒲公英的api_key", user_key: "蒲公英的user_key")
    
    

    Jenkins的shell脚本

    先执行pod操作,如果是使用cocoapod安装的话

    #bin/bsah - l
    
    export LANG=en_US.UTF-8
    
    export LANGUAGE=en_US.UTF-8
    
    export LC_ALL=en_US.UTF-8
    
    cd $WORKSPACE/
    
    echo ++++++++++++++++++
    
    #/usr/local/bin/pod install
    /usr/local/bin/pod update --verbose --no-repo-update
    
    echo begin
    echo ++++++++++++++++++
    
    

    解锁keychain

    #bin/security - l
    /usr/bin/security unlock-keychain -p q1234 ~/Library/Keychains/login.keychain-db
    

    fastlane 进行打包

    #bin/bsah - l
    
    export LANG=en_US.UTF-8
    
    export LANGUAGE=en_US.UTF-8
    
    export LC_ALL=en_US.UTF-8
    
    cd $WORKSPACE/
    
    pwd
    
    PATH="/usr/local/bin:$PATH"
    
    # 进行打包操作
    /usr/local/bin/fastlane beta 
    
    

    打包成功的输出

    WechatIMG15.jpeg WechatIMG16.jpeg

    集成的时候遇到的问题

    1. CodeSign 签名失败,执行解锁keychain的shell脚本
    CodeSign /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/QKiOS-ceqftwbkurbqjxfyflrsrfuzezvs/Build/Intermediates.noindex/ArchiveIntermediates/QKiOS/InstallationBuildProductsLocation/Applications/QKiOS.app```

    相关文章

      网友评论

          本文标题:jenkins + Git + fastlane + 蒲公英实现

          本文链接:https://www.haomeiwen.com/subject/btcfpftx.html