# AutoDeployPlugin **Repository Path**: crwth/auto-deploy-plugin ## Basic Information - **Project Name**: AutoDeployPlugin - **Description**: 自动打测试包,并上传蒲公英,可选是否进行钉钉群通知 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-20 - **Last Updated**: 2024-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 自动打包apk、上传蒲公英并进行钉钉通知 ### 功能清单 - [x] 自动打包apk并上传蒲公英 - [x] 发送通知到 钉钉群 - [ ] 上传支持 fir - [ ] 发送通知支持 企业微信 - [ ] 发送通知支持 邮件 ### 一、前期准备 ##### 1. 获取蒲公英 apiKek [蒲公英apiKey获取](https://www.pgyer.com/doc/view/api#uploadApp) ##### 2. 创建钉钉机器人,并获取密钥 [钉钉机器人创建和密钥获取](https://developers.dingtalk.com/document/app/custom-robot-access) ### 二、使用步骤 ##### 1. 在 `project` 根目录的 `build.gradle` 中引入 gradle 插件 ``` buildscript { repositories { maven { url 'https://jitpack.io' } } dependencies { classpath 'com.gitee.crwth:auto-deploy-plugin:v1.0.5' } } ``` ##### 2. 在 `app module` 目录的 `build.gradle` 中引入插件 ``` plugins { id 'com.android.application' id 'com.aegis.autodeployplugin' // 这一行代码 } ``` ##### 3. 添加蒲公英上传配置 和 钉钉机器人配置 ``` plugins { id 'com.android.application' id 'com.aegis.autodeployplugin' // 这一行代码 } uploadAutoDeploy{ // 与 plugins 同级别 pgyApiKey = '蒲公英 apiKey' pgyUpdateDesc = '1. 更新说明一\n2.更新说明二' dingTalkAccessToken = '钉钉 AccessToken'; dingTalkSecret = '钉钉 Secret'; dingTalkTitle = '钉钉 通知标题'; dingTalkDesc = pgyUpdateDesc; } ``` ##### 4. 在 android 配置项内,新增名为 `uploadReleas` 的buildType,并 配置签名信息 ``` android { signingConfigs { release { keyAlias 'androiddebugkey' keyPassword 'android' // 实际改成 密码 storeFile file('keys/debug.keystore') storePassword 'android' // 实际改成 密码 v1SigningEnabled true v2SigningEnabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } uploadRelease { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ``` ##### 5. 同步gradle后,即可运行 task autoUploadAndNotifyUploadRelease : 自动打包,上传蒲公英,并发送钉钉通知 autoUploadUploadRelease : 自动打包,并上传蒲公英 ![tasks示例图片](pics/tasks.png) ### 三、使用本地仓库 ##### 1. 配置本地仓库地址 1.1 AutoDeployPlugin module 下 `build.gradle`,配置本地仓库地址 ``` uploadArchives { repositories { mavenDeployer { repository(url: uri('../repo')) } } } ``` 1.2 点击 `uploadArchives` , 发布插件到本地仓库 ![发布到本地仓库图片](pics/uploadLocalRepo.png) 1.3 Project 根目录的 `build.gradle` ,引入本地仓库插件,即可 ``` buildscript { repositories { google() mavenCentral() maven{ url uri('./repo/') } } dependencies { classpath "com.android.tools.build:gradle:4.2.1" classpath 'com.aegis.gradle.plugins:auto-deploy:1.0.3' } } ``` ![本地仓库示例](pics/localRepo.png)