Files
amos 656e642451
Android Build / build (push) Successful in 44s
Android Release / release (push) Failing after 1m20s
docs: 添加自动发布配置指南
2026-06-02 12:49:09 +08:00

110 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gitea Actions 自动发布配置指南
## ✅ 已完成
1. 创建了 Release workflow: `.gitea/workflows/android-release.yml`
2. 创建了 Gitea Token: `gitea-actions-release`
## 🔧 需要手动配置的步骤
### 步骤 1: 添加 GITEA_TOKEN Secret
1. 访问你的仓库:https://gitea.kg8.net/amos/android-ci-demo
2. 点击 **Settings** (设置)
3. 在左侧菜单选择 **Secrets** (密钥)
4. 点击 **Add secret** (添加密钥)
5. 填写:
- **Name**: `GITEA_TOKEN`
- **Value**: `b4d3c4c6cd1b37b6a378970443781ee9eaeff8f5`
6. 点击 **Add secret** 保存
### 步骤 2: (可选)配置 APK 签名
如果要签名 Release 版本:
1. **生成签名密钥**(如果还没有):
```bash
keytool -genkey -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mykey
```
2. **在 Gitea Secrets 中添加签名信息**
- `KEYSTORE_PATH`: `/path/to/keystore/release.jks`(在 Runner 上的路径)
- `KEYSTORE_PASSWORD`: 你的密钥库密码
- `KEY_ALIAS`: 你的密钥别名
- `KEY_PASSWORD`: 你的密钥密码
3. **修改 `app/build.gradle`** 添加签名配置:
```gradle
android {
...
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE_PATH") ?: "keystore/release.jks")
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
```
### 步骤 3: 测试自动发布
推送一个测试标签来触发自动发布:
```bash
cd /tmp/android-ci-demo-fixed
git tag v1.0.0-test
git push origin v1.0.0-test
```
然后访问:https://gitea.kg8.net/amos/android-ci-demo/actions
查看 **Android Release** workflow 的运行状态。
### 步骤 4: 正式发布
当准备发布正式版本时:
```bash
# 更新版本号(在 build.gradle 中)
# versionName "1.0.0"
# versionCode 1
git tag v1.0.0
git push origin v1.0.0
```
自动发布 workflow 会:
1. ✅ 编译 Release 版本的 APK
2. ✅ 创建 Gitea Release
3. ✅ 上传 APK 到 Release
## 📝 注意事项
1. **Token 权限**: 创建的 token 有 `write:repository` 权限,可以创建 Release
2. **Token 安全**: 不要将 token 提交到 Git,只通过 Gitea Secrets 使用
3. **APK 大小**: Release 版本经过混淆和压缩,通常比 Debug 版本小 30-50%
4. **签名**: 未签名的 Release APK 无法安装到真机,仅用于测试
## 🎯 后续优化建议
1. **添加变更日志**: 自动从 commit message 生成 CHANGELOG
2. **多版本支持**: 同时生成 universal APK 和分架构 APK
3. **自动测试**: 在发布前运行单元测试
4. **通知**: 发布成功后通过飞书/邮件通知团队
---
**Token 信息**(仅首次配置需要):
- Name: `gitea-actions-release`
- Token: `b4d3c4c6cd1b37b6a378970443781ee9eaeff8f5`
- 最后 8 位:`eaeff8f5`