DockerBuildCtrl.java
4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package com.ui.ctrl;
import com.alibaba.fastjson.JSONArray;
import com.ui.contants.HttpUriContants;
import com.ui.http.HttpRestClient;
import com.ui.model.BaseResponse;
import com.ui.model.domain.BuildMessage;
import com.ui.model.domain.DockerProjectModel;
import com.ui.model.req.BuildRequest;
import com.ui.model.req.DockerJenkinsReq;
import com.ui.model.req.User;
import com.ui.project.ProjectEnvironment;
import com.ui.project.ProjectOnline;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.util.*;
@RestController
@RequestMapping("/dockerBuild")
public class DockerBuildCtrl {
Logger log = LoggerFactory.getLogger(DockerBuildCtrl.class);
@Autowired
private HttpRestClient httpRestClient;
@RequestMapping("/toProject")
public ModelAndView toProject(Model model,String workJobId) {
if(StringUtils.isNotBlank(workJobId)){
//如果来源工单发布界面
}
model.addAttribute("environments", ProjectEnvironment.getDockerEnvironments());
model.addAttribute("projectTypes", ProjectEnvironment.getDockerProjectTypes());
return new ModelAndView("project/docker_project");
}
/**
* 获取所有项目
*
* @return
*/
@RequestMapping(value = "/getProjects")
@ResponseBody
public String getProjects(String projectType) {
try {
Map map = new HashMap<>();
map.put("projectType",projectType);
BaseResponse response=httpRestClient.defaultGet("/dockerProject/getDockerProjectByType", BaseResponse.class, map);
return JSONArray.toJSON(response.getData()).toString();
} catch (Exception ex) {
return "failed";
}
}
/**
* deploy项目
*
* @return
*/
@RequestMapping(value = "/build")
@ResponseBody
public ModelAndView build(String project_id, String project_name, String environment_name, String operate_name, String branch_name, String rollbackfile_name,String workid_name, Model model, HttpSession session) {
Map map = new HashMap<>();
map.put("ids",project_id);
BaseResponse response=httpRestClient.defaultGet("/dockerProject/getDockerProjectByIds", BaseResponse.class, map);
model.addAttribute("docker_project_list", JSONArray.toJSON(response.getData()));
model.addAttribute("environment_name", environment_name);
model.addAttribute("operate_name", operate_name);
model.addAttribute("branch_name", branch_name);
model.addAttribute("workid_name", workid_name);
return new ModelAndView("project/docker_build");
}
/**
* 镜像制作
*/
@RequestMapping(value = "/createMirror")
@ResponseBody
public BaseResponse createMirror(DockerJenkinsReq dockerJenkinsReq,HttpSession session) {
User user = (User) session.getAttribute("user");
dockerJenkinsReq.setUserName(user.getName());
dockerJenkinsReq.setUserMail(user.getEmail());
return httpRestClient.defaultPost("/dockerProject/createMirror",dockerJenkinsReq,BaseResponse.class);
}
/**
* 镜像制作
*/
@RequestMapping(value = "/queryJenkinsStatus")
@ResponseBody
public BaseResponse queryJenkinsStatus(String buildId) {
Map map = new HashMap<>();
map.put("id",buildId);
BaseResponse response=httpRestClient.defaultGet("/dockerProject/queryJenkinsStatus", BaseResponse.class, map);
return response;
}
/**
* qq发布
*/
@RequestMapping(value = "/deployMirror")
@ResponseBody
public BaseResponse deployMirror(DockerJenkinsReq dockerJenkinsReq) {
return httpRestClient.defaultPost("/dockerProject/deployMirror",dockerJenkinsReq,BaseResponse.class);
}
/**
* qq发布
*/
@RequestMapping(value = "/queryDockerServerStatus")
@ResponseBody
public BaseResponse queryDockerServerStatus(DockerJenkinsReq dockerJenkinsReq) {
return httpRestClient.defaultPost("/dockerProject/queryDockerServerStatus",dockerJenkinsReq,BaseResponse.class);
}
}