美文网首页
使用App Center作为CI构建

使用App Center作为CI构建

作者: jialing_lee | 来源:发表于2019-08-29 16:39 被阅读0次

    介绍

    官方介绍
    App Center入口

    App Center是微软的一款CI产品,用来构建Android、iOS、React Native应用,并分发。

    跟travis比起来,App Center更加傻瓜化,但是功能上还是非常优秀的。

    登录后,点击右上角“Add new”按钮


    输入应用名称,编译类型等。


    新建完成后,进入到刚刚创建好的应用中。

    点击左侧功能菜单的“Build”项后,显示需要连接到代码仓库。目前支持Azure、GitHub、Bitbucket、GitLab四家。


    这里我连接到我的github仓库,选择一个React Native 的 repo。


    连接成功后,将看到所有的分支信息:


    将鼠标停留在master分支上,将看到设置按钮,点击设置按钮。

    首先设置基本信息,包括XCode版本,Node版本,构建触发方式等。

    往下拉是设置环境变量


    设置这些环境变量的作用后面会说道。接着下拉看到签名设置,如果需要签名,打开此设置。



    iOS应用签名需要用到对应的证书(Certificate)和授权文件(Provisioning Profile)。由于我们在创建时设置的Release Type是beta,因此用到的证书是development证书,同时也要使用development类型的授权文件。

    关于证书从哪里获取,这里就不多讲了,先了解苹果证书系统。

    是否邮件通知测试员。如果想添加或者删除测试员,需要在[组织名称]->People中设置。


    分支构建设置完成后,点击Save按钮即可保存,点击 Save & Build 将保存设置后立即构建。

    非付费用户构建需要排队,每个月有一定的免费构建时长。

    关于环境变量,App Center自身的环境变量:https://docs.microsoft.com/en-us/appcenter/build/custom/scripts/#app-center-variables

    App Center还可以添加自定义脚本:https://docs.microsoft.com/en-us/appcenter/build/custom/scripts/

    App Center允许你在编译前后执行自定义脚本。如果想在编译前执行脚本,需要在项目根目录新建名为appcenter-pre-build.sh的文件。在编译完成后执行,则新建名为appcenter-post-build.sh的文件。

    比如我想在App Center构建完成后,将安装包上传到fir.im上。

    添加appcenter-post-build.sh文件,在编译完成后,安装fir命令行工具,通过命令行工具将文件上传至fir.im上。

    #!/usr/bin/env bash
    sudo gem install fir-cli
    fir p $APPCENTER_OUTPUT_DIRECTORY/$APP_FILE -T $FIR_TOKEN
    

    结合我之前写的一篇文章:
    使用fastlane自动化构建iOS应用

    我们的代码中默认使用的是开发环境配置,如果我们需要编译的是生产环境的开发包,则需要在编译前将代码切换成生产配置。
    添加appcenter-pre-build.sh文件,如下内容:

    #!/usr/bin/env bash
    
    sudo gem install fastlane -NV
    
    if [ "$PLATFORM" == "iOS" ];
    then
        if [ "$APP_MODE" == "dev" ];
        then
            echo "build dev"
            cd ios && fastlane set_app_mode prod:false
        elif [ "$APP_MODE" == "prod" ]
        then
            echo "build prod"
            cd ios && fastlane set_app_mode prod:true
        fi
    fi
    
    

    相关文章

      网友评论

          本文标题:使用App Center作为CI构建

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