通过CI/CD开发Android
了解如何构建Android应用程序、签署APK并将其发布到Google Play。
Buddy可让您创建交付流水线,只需一次推送到分支,即可构建、签署和部署您的Android应用程序到Google Play。流水线包含您可以根据需要配置的操作。
配置非常简单,只需几分钟即可完成。
1. 选择您的Git存储仓
Buddy支持所有热门的Git托管提供商,包括GitHub、Bitbucket与GitLab。您还可以使用自己私有的Git服务器或直接使用 Buddy内建的Git上托管代码。
2. 新添交付流水线
输入流水线的名称,选择触发模式,并定义Buddy从中提取代码的分支:
分支分配 — 此为Buddy将部署的分支。 如果将触发模式设置为“事件”,Buddy将在每次推送到该分支时执行流水线运行。
触发器模式
- 事件(自动) — 开发环境时推荐使用
- 手动(点击触发) — 产品环境时推荐使用
- 定时(按时间间隔) — 暂存/测试的时候推荐使用
3. 添加操作
Buddy可让您从数十种预定义的操作中进行选择。 在此示例中,我们将添加3个操作来执行以下任务:
- 构建您的Android应用
- 使用您的密钥签署应用程序
- 将APK上传到 Google Play
- 向Slack发送通知
3.1 构建您的Android应用
找到并点击构建APK操作进行配置。您可以在此处选择SDK和构建工具的版本并确定要执行的命令。 默认命令是:
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
chmod +x gradlew
#./gradlew assembleDebug
./gradlew assembleRelease
3.2 签署您的应用(APK)
从操作选项上添加 签署APK,选择APK的路径并提供密钥库及其密码:
3.3 部署APK到Google Play
目前应用程序已经可以部署了,转向 Android 操作选项区域并选择 Google Play:
添加操作时,您可以选择应上传的内容和位置:
3.4 发送通知到Slack
您可以将Buddy配置为在部署后向您的团队发送消息。 在此我们将使用Slack作为示例:
如果您将此操作添加到 操作失败时运行,则Buddy只会在您的构建或部署出现问题时发送消息。
4. Google Play: 私钥与权限设置
为了将您的应用程序交付到Google Play,您需要做两件事:
- 使用
.json
格式的私钥创建服务帐户 - 从Google Play开发者控制台设置适当的权限
4.1 创建服务帐号
- 打开Google Play开发者控制台 (如果您尚未登录,则需要先登录)
- 在左侧边栏中, 点击 Settings → API access:
- 点击 Create Service Account. 如下图将会弹出一个窗口:
- 打开 Google API控制台,点击 Create Service Account 按钮:
- 输入详细信息并选中 Furnish a new private key,确保选择JSON作为密钥类型:
- 点击 Create 按钮以创建服务帐户---将自行下载服务帐户的私钥。
此时,JSON私钥已下载到您的计算机 (您需要在下一步将此文件上传到 Buddy). 请确保您将私钥存储在安全的地方,因为如果丢失了,您将无法找回。
4.2 设置权限
- 返回 Google Play开发者控制台
- 在 Service Accounts 面板上, 找到您刚刚创建的帐户,然后单击 Grant Access
- 您可以在此处调整服务帐户的权限。确保在 Role 下拉列表中选择 Release manager
- 当就绪时点击 Add User
恭喜!恭喜!您现在可以将应用程序部署到Google Play商店啦!
5. 总结
恭喜!您刚刚自动化了整个部署过程。 推送到选定的分支并观察Buddy提取、构建和部署您的项目。 应用持续部署后,您现在可以专注于真正重要的事情:开发出色的应用程序!🔥
如果您希望我们为您的项目创建交付流水线,请发送邮件至 support@buddy.red,我们将很乐意为您提供帮助!