docs: 添加自动发布配置指南
This commit is contained in:
@@ -0,0 +1,109 @@
|
|||||||
|
# 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`
|
||||||
Reference in New Issue
Block a user