# 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`