3

我是 Bluemix 的新手。

我在 git repo 中有一个预先存在的 React Native 项目,其中还包含 ios 和 android 的转码代码。我想将该 git 存储库拉入 Bluemix,当检测到更改时,只需构建 android .apk 和 ios .ipa 文件。

Bluemix 是否提供了一种本地方式来执行此操作?我已经看过一些关于 MobileFoundation 和 MobileFirst Platform 的文档,这些文档看起来很有希望,而且在 ToolChain/Delivery Pipeline/Build Script 中进行大量手术似乎也可以做到这一点(在下面的代码中沿着这条路线走)。

我们是否朝着正确的方向前进?欣赏任何见解。特别是一步一步的指导。我在 Bluemix 中找不到任何关于此的帖子或文章。

#!/bin/bash

# binplace android sdk
wget http://dl.google.com/android/android-sdk_r23-linux.tgz
tar -xzf android-sdk_r23-linux.tgz -C /home/pipeline

# set ANDROID_HOME
# ANDROID_HOME doesn't get recognized downstream......
echo 'export ANDROID_HOME=/home/pipeline/android-sdk-linux' >>~/.profile
echo 'export PATH=$PATH:$ANDROID_HOME/tools' >>~/.profile
echo 'export PATH=$PATH:$ANDROID_HOME/platform-tools' >>~/.profile

# install android sdk
# filtering to be added to reduce lengthy install time
/home/pipeline/android-sdk-linux/tools/android update sdk --no-ui

更新 我们仍在处理大量未对齐的 Bluemix 文档,这些文档引用了旧的或不存在的 Bluemix UI、损坏的文章链接等。为任何有确切步骤的人发布赏金(最好使用较新的 Bluemix UI,而不是集线器) .jazz.net)。到目前为止,我们发现的最好的文章似乎走上了一条正确的道路,发布在下面。

https://mobilefirstplatform.ibmcloud.com/blog/2016/08/25/mobilefirst-devops-in-bluemix/

4

1 回答 1

0

上面看起来你正朝着正确的方向前进。

作业在为每个管道运行创建的 Docker 容器内的离散工作目录中运行。在运行作业之前,其工作目录将填充在阶段级别定义的输入。例如,您可能有一个包含测试作业和部署作业的阶段。如果您在一项作业上安装依赖项,则它们对另一项作业不可用。但是,如果您使依赖项在阶段的输入中可用,它们对两个作业都可用。

https://hub.jazz.net/docs/deploy/#jobs


使用脚本,您可以构建 Android apk 文件(看起来您在上面的正确路径上)。要构建 iOS 应用程序,您需要使用 Mac,因此您可能需要 ssh 进入 Mac(并 scp 代码)来触发该构建。

从那里,您可以将 ipa/apk 文件发送到 Bluemix 服务Testdroid Cloud,它可以为您自动测试。

下面是每个平台的流程图:

安卓:

  1. 触发 git commit
  2. 克隆源代码
  3. 下载 Android 并构建 apk
  4. (可选)部署 apk 进行测试

IOS:

  1. 触发 git commit
  2. 克隆源代码
  3. scp 代码到 Mac
  4. 在 Mac 上构建 ipa
  5. scp ipa 返回
  6. (可选)部署 ipa 进行测试

^ 您在这里有许多不同的选择(您可以在没有 scp 的情况下从 Mac 克隆和部署),但我希望这能让您对您的选择有所了解。

让我知道这是否有帮助,或者如果您有任何后续问题。

于 2017-01-17T17:37:09.713 回答