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