跳到主要内容

通过CI/CD部署React Native移动应用

了解如何构建React Native应用程序、签署APK并将其发布到Google Play。

Buddy可让您创建交付流水线,只需一次推送到分支,即可构建、签署和部署您的React Native应用。流水线包含您可以根据需要配置的操作React Native pipeline example

配置非常简单,只需几分钟即可完成。

1. 选择您的Git存储仓

Buddy支持所有流行的Git托管服务提供商,包括GitHub、Bitbucket和GitLab。 您还可以使用自己的私有Git服务器或直接在 Buddy上托管代码。 Supported Git providers

2. 新添交付流水线

输入流水线的名称,选择触发模式,并定义Buddy从中提取代码的分支: Adding a new pipeline

提示

分支分配 — 此为Buddy将部署的分支。 如果将触发模式设置为“事件”,Buddy将在每次推送到该分支时执行流水线运行。

信息

触发器模式

  • 事件(自动) — 开发环境时推荐使用
  • 手动(点击触发) — 产品环境时推荐使用
  • 定时(按时间间隔) — 暂存/测试的时候推荐使用

3. 添加操作

Buddy可让您从数十种预定义的操作中进行选择。在此示例中,我们将添加4个操作来执行以下任务:

  • 构建并测试React Native应用: 下载依赖项 (npm、yarn等)、运行测试、编译资源(npm任务、webpack等)
  • 将代码与编译资源一起上传到服务器
  • 重启应用
  • 发送通知至Slack

3.1 配置您的React Native应用

Buddy允许您配置SDK版本以及构建工具和Android构建的Node版本。 Configuring React Native application Configuring React Native SDK

3.2 构建您的React Native应用

查找并点击React Native操作进行配置。在此,您可以选择React Native版本并确定要执行的命令。 默认命令是:

export ANDROID_HOME="/opt/android/sdk/"
export PATH=$PATH:/opt/android/sdk/cmdline-tools/tools/bin
if [ ! -d "$ANDROID_HOME/cmdline-tools" ]; then
curl -o sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
unzip sdk.zip
rm sdk.zip
mkdir "$ANDROID_HOME/cmdline-tools"
mv cmdline-tools "$ANDROID_HOME/cmdline-tools/tools"
yes | "$ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager" --licenses
fi

#build
npm install
cd ./android
chmod +x gradlew
./gradlew assembleRelease

Default React native action build commands

3.3 签署您的应用(APK)

从操作菜单中添加签署APK。 选择APK的路径并提供密钥库及其密码: Configuring Sign APK

3.4 部署APK至Google Play

该软件包现在可以部署了,前往Android部分并选择Google Play: Google Play action

添加操作时,您可以选择应上传的内容和位置: Configuring Google Play action

信息

Buddy的部署基于变更集。 这意味着只部署更改的文件,这使得它快如闪电。⚡️

3.5 发送通知至Slack

您可以将Buddy配置为在部署后向您的团队发送消息。 本文我们使用Slack作为示例: Notification actions

信息

如果您将此操作添加到操作失败时运行则Buddy只会在您的构建或部署出现问题时发送消息。

4. 总结

恭喜!您刚刚自动化了整个部署过程。 推送到选定的分支并观察Buddy提取、构建和部署您的项目。 应用持续部署后,您现在可以专注于真正重要的事情:开发出色的应用程序!🔥

备注

注:本文只是Buddy功能特色其中的一个简短示例。您可以为暂存和生产环境创建额外的流水线, 与您最喜欢的服务(AWS、谷歌云、Azure)集成,, 触发测试于拉取请求、构建Docker镜像同时推送到注册中心(Registry)---功能设置无可限量。

信息

如果您希望我们为您的项目创建交付流水线,请发送邮件至 support@buddy.red,我们将很乐意为您提供帮助!