美文网首页
使用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