| | |
| | | public R triggerBuild(@RequestBody JSONObject param) { |
| | | try { |
| | | String buildType = param.getString("buildType"); |
| | | String androidTarget = param.getString("android_target"); |
| | | String repoAlias = param.getString("repoAlias"); |
| | | String branch = param.getString("branch"); |
| | | String serverUrl = param.getString("server_url"); |
| | | |
| | | if (Cools.isEmpty(buildType)) { |
| | | buildType = "release"; |
| | |
| | | branch = "master"; |
| | | } |
| | | |
| | | ApkBuildTask task = apkBuildTaskService.triggerBuild(buildType, repoAlias, branch); |
| | | ApkBuildTask task = apkBuildTaskService.triggerBuild(buildType, androidTarget, repoAlias, branch, serverUrl); |
| | | return R.ok(task); |
| | | } catch (Exception e) { |
| | | return R.error("打包任务创建失败: " + e.getMessage()); |
| | |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.utils.RedisUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.ss.usermodel.charts.LineChartData; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | * @param branch 分支名称 |
| | | * @return 创建的任务实体 |
| | | */ |
| | | ApkBuildTask triggerBuild(String buildType, String repoAlias, String branch) throws Exception; |
| | | ApkBuildTask triggerBuild(String buildType, String androidTarget, String repoAlias, String branch, String serverUrl) throws Exception; |
| | | |
| | | /** |
| | | * 刷新指定任务的状态 |
| | |
| | | private String adbPath; |
| | | |
| | | @Override |
| | | public ApkBuildTask triggerBuild(String buildType, String repoAlias, String branch) throws Exception { |
| | | public ApkBuildTask triggerBuild(String buildType, String androidTarget, String repoAlias, String branch, String serverUrl) throws Exception { |
| | | // 检查是否有正在进行中的任务(状态0=等待中,1=打包中) |
| | | List<ApkBuildTask> pendingTasks = this.baseMapper.selectPendingTasks(); |
| | | if (!pendingTasks.isEmpty()) { |
| | |
| | | // 构建请求JSON |
| | | JSONObject requestBody = new JSONObject(); |
| | | requestBody.put("build_type", buildType); |
| | | requestBody.put("android_target", androidTarget); |
| | | requestBody.put("repo_alias", repoAlias); |
| | | requestBody.put("branch", branch); |
| | | requestBody.put("server_url", serverUrl); |
| | | |
| | | // 发送打包请求 |
| | | Map<String, Object> headers = new HashMap<>(); |
| | |
| | | <el-radio label="debug">Debug</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="目标类型" prop="android_target"> |
| | | <el-select v-model="buildForm.android_target" placeholder="请选择目标类型" style="width: 100%;"> |
| | | <el-option label="TV" value="tv"></el-option> |
| | | <el-option label="PDA" value="pda"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仓库别名" prop="repoAlias"> |
| | | <el-input v-model="buildForm.repoAlias" placeholder="请输入仓库别名"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="分支名称" prop="branch"> |
| | | <el-input v-model="buildForm.branch" placeholder="请输入分支名称"></el-input> |
| | | <div class="form-tip">默认为 master 分支</div> |
| | | </el-form-item> |
| | | <el-form-item label="服务器地址" prop="server_url"> |
| | | <el-input v-model="buildForm.server_url" placeholder="请输入 server_url"></el-input> |
| | | <div class="form-tip">TV 包必填</div> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | buildSubmitting: false, |
| | | buildForm: { |
| | | buildType: 'release', |
| | | android_target: 'tv', |
| | | repoAlias: 'zy-monitor', |
| | | branch: 'master' |
| | | branch: 'master', |
| | | server_url: '' |
| | | }, |
| | | buildRules: { |
| | | android_target: [{ required: true, message: '请选择目标类型', trigger: 'change' }], |
| | | repoAlias: [{ required: true, message: '请输入仓库别名', trigger: 'blur' }] |
| | | }, |
| | | |
| | |
| | | |
| | | created() { |
| | | this.loadData(); |
| | | this.buildForm.server_url = this.getServerUrl(); |
| | | }, |
| | | |
| | | beforeDestroy() { |
| | |
| | | // 获取请求头 |
| | | getHeaders() { |
| | | return { 'token': localStorage.getItem('token') }; |
| | | }, |
| | | getServerUrl() { |
| | | const { protocol, host } = window.location; |
| | | return `${protocol}//${host}/monitor`; |
| | | }, |
| | | |
| | | // 加载数据 |
| | |
| | | showBuildDialog() { |
| | | this.buildForm = { |
| | | buildType: 'release', |
| | | android_target: 'tv', |
| | | repoAlias: 'zy-monitor', |
| | | branch: 'master' |
| | | branch: 'master', |
| | | server_url: this.getServerUrl() |
| | | }; |
| | | this.buildDialogVisible = true; |
| | | }, |
| | |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | | </html> |