|
|
package com.ui.ctrl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.ui.http.HttpRestClient;
|
|
|
import com.ui.model.req.BuildRequest;
|
|
|
import com.ui.project.ProjectEnvironment;
|
|
|
import com.ui.project.ProjectOnline;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Controller
|
|
|
@RequestMapping("/project")
|
|
|
public class ProjectBuildCtrl {
|
|
|
|
|
|
@Autowired
|
|
|
private HttpRestClient httpRestClient;
|
|
|
|
|
|
@RequestMapping(value = "projectbuild")
|
|
|
public ModelAndView projectbuild(Model model) {
|
|
|
model.addAttribute("environments", ProjectEnvironment.getEnviroments());
|
|
|
return new ModelAndView("jsp/project/project");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取所有项目
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "getProjects", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String getProjects() {
|
|
|
try {
|
|
|
return JSONArray.toJSON(ProjectOnline.getProjectList()).toString();
|
|
|
} catch (Exception ex) {
|
|
|
return "failed";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 校验tag
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "checkTag", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String checkTag(String projects, String tag, String enviromment) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("projects", projects);
|
|
|
map.put("tag", tag);
|
|
|
return httpRestClient.get(ProjectEnvironment.getUrl(enviromment) + "checkTag", String.class, map);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 校验branch
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "checkBranch")
|
|
|
@ResponseBody
|
|
|
public String checkBranch(String projects, String branch, String environment) {
|
|
|
if (!("master".equals(branch) || "test".equals(branch) || "dev".equals(branch))) {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("projects", projects);
|
|
|
map.put("branch", branch);
|
|
|
return httpRestClient.get(ProjectEnvironment.getUrl(environment) + "checkBranch", String.class, map);
|
|
|
}
|
|
|
return "1";
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 执行任务
|
|
|
*
|
|
|
* @param request
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "build", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String build(@RequestBody BuildRequest request) {
|
|
|
try {
|
|
|
return httpRestClient.post(ProjectEnvironment.getUrl(request.getEnvironment()) + "build", request, String.class);
|
|
|
} catch (Exception ex) {
|
|
|
return "failed";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取执行结果
|
|
|
*
|
|
|
* @param messageid
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "getbuildmsg", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String getbuildmsg(String messageid, String project) {
|
|
|
try {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("messageid", messageid);
|
|
|
map.put("project", project);
|
|
|
return httpRestClient.get(ProjectEnvironment.getUrl(messageid.split("_")[0]) + "getbuildmsg", String.class, map);
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
return "failed";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "cancelBuild")
|
|
|
@ResponseBody
|
|
|
public String cancelBuild(String id) {
|
|
|
try {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("id", id);
|
|
|
return httpRestClient.get(ProjectEnvironment.getUrl(id.split("_")[0]) + "cancelBuild", String.class, map);
|
|
|
} catch (Exception ex) {
|
|
|
return "failed";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "rollbackList", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String rollbackList(String project, String environment) {
|
|
|
try {
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
map.put("project", project);
|
|
|
map.put("environment", environment);
|
|
|
return httpRestClient.get(ProjectEnvironment.getUrl(environment) + "rollbackList", String.class, map);
|
|
|
} catch (Exception ex) {
|
|
|
return "failed";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|