/// <summary> /// 新增 /// </summary> /// <param name="menu"></param> /// <returns></returns> public JsonResponses Update(PdProject model) { try { RequestBase request = new RequestBase(); request.SetValue("id", model.id); request.SetValue("ProjectNo", model.ProjectNo); request.SetValue("Name", model.Name); request.SetValue("VersionType", model.VersionType); request.SetValue("VersionUrl", model.VersionUrl); request.SetValue("SourcePath", model.SourcePath); request.SetValue("MSBuildPath", model.MSBuildPath); request.SetValue("ProjectFile", model.ProjectFile); request.SetValue("notifyEmails", model.notifyEmails); request.SetValue("InputUser", model.InputUser); request.Url = UpdateUrl; string result = HttpHelper.Example.GetWebData(new BrowserPara() { Uri = request.Url, PostData = request.GetRequestData(), Method = RequestTypeEnums.POST_FORM }); return(JsonConvert.DeserializeObject <JsonResponses>(result)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(JsonResponses.Failed); }
public JsonResult PdProjectAdd(PdProject model) { model.InputUser = AppBusiness.loginModel.UserNo; JsonResponses responses = serverSdk.Add(model); return(Json(responses, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 新增 /// </summary> /// <param name="menu"></param> /// <returns></returns> public JsonResponses Add(PdProject model) { try { RequestBase request = RequestBase.PostForm.Clone() as RequestBase; request.SetValue("ProjectNo", model.ProjectNo); request.SetValue("Name", model.Name); request.SetValue("VersionType", model.VersionType); request.SetValue("VersionUrl", model.VersionUrl); request.SetValue("GitBranch", model.GitBranch); request.SetValue("GitBinPath", model.GitBinPath); request.SetValue("SourcePath", model.SourcePath); request.SetValue("MSBuildPath", model.MSBuildPath); request.SetValue("ProjectFile", model.ProjectFile); request.SetValue("notifyEmails", model.notifyEmails); request.SetValue("InputUser", model.InputUser); request.SetValue("InputTime", model.InputTime); request.Url = AddUrl; return(sdkUtil.PostForVo(request)); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(JsonResponses.Failed); }
public ActionResult <JsonResponses> GetInfo(int id) { PdProject Info = new PdProject(); Info = DataHandleManager.Instance().PdProjectHandle.GetModelByKey(id.ToString()); return(new JsonResponses(Info)); }
public ActionResult <JsonResponses> Publish([FromForm] int id) { string RequestUser = "******"; try { PdProject project = DataHandleManager.Instance().PdProjectHandle.GetProject(id); if (project == null) { return(JsonResponses.Failed); } bool result = gitHandle.GitProjectSourceCode(project, RequestUser); if (!result) { return(JsonResponses.Failed); } result = gitHandle.RunPublishBat(project, RequestUser); if (!result) { return(JsonResponses.Failed); } return(JsonResponses.Success); } catch (Exception ex) { DataHandleManager.Instance().UcLoginLogHandle. InsertPublishDeployGitLog(RequestUser, "系统错误", ServerConstData.ServerName, 400, ex.ToString()); return(new JsonResponses(ex.ToString())); } }
public ActionResult <JsonResponses> Publish1([FromForm] int id) { PdProject project = DataHandleManager.Instance().PdProjectHandle.GetProject(id); if (project == null) { return(JsonResponses.Failed); } return(JsonResponses.Success); }
public JsonResult GetPdProjectInfo(int id) { PdProject Info = new PdProject(); JsonResponses responses = serverSdk.GetInfo(id); if (responses.code == JsonResponses.SuccessCode) { Info = responses.GetDataValue <PdProject>(); } return(Json(Info, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 执行发布命令 /// </summary> /// <param name="project"></param> /// <param name="RequestUser"></param> /// <returns></returns> public bool RunPublishBat(PdProject project, string RequestUser) { if (project == null) { return(false); } string batPath = project.SourcePath + project.ProjectFile; if (File.Exists(batPath)) { FileInfo fileInfo = new FileInfo(batPath); if (!fileInfo.Exists) { return(false); } string enlistmentRoot = project.SourcePath; string workingDirectory = fileInfo.Directory.ToString(); string repoUrl = project.VersionUrl; string gitBinPath = project.MSBuildPath; GitBaseConfig config = new GitAuthConfig(enlistmentRoot, workingDirectory, repoUrl, gitBinPath); GitProcess process = config.CreateGitProcess(); int exitCode = -1; List <string> commandList = new List <string>(); commandList.Add(fileInfo.Name); List <string> reulit = this.Shell("cmd.exe", "/k ", 5 * 60 * 1000, fileInfo.Directory.ToString(), out exitCode, commandList.ToArray()); LoginResultType resultType = exitCode == 0 && reulit.Contains(" 0 个错误") ? LoginResultType.SUCCESS_PUBLISHCMD : LoginResultType.FAILED; string message = JsonConvert.SerializeObject(project); string HandleUser = ServerConstData.ServerName; int HandleResult = (int)resultType; string HandleMessage = resultType == LoginResultType.SUCCESS_PUBLISHCMD ? resultType.GetEnumDescription() : String.Join(";", reulit); DataHandleManager.Instance().UcLoginLogHandle. InsertCommonLog(RequestUser, message, LogTypeEumns.PublishCmd, HandleUser, HandleResult, HandleMessage); if (exitCode == 0 && reulit.Contains(" 0 个错误")) { return(true); } } else { DataHandleManager.Instance().UcLoginLogHandle. InsertPublishDeployGitLog(RequestUser, "batPath:" + batPath, ServerConstData.ServerName, 400, "文件不存在;"); } return(false); }
public ActionResult <JsonResponses> Update([FromForm] PdProject project) { try { project.UpdateTime = DateTime.Now; int result = DataHandleManager.Instance().PdProjectHandle.Update(project); if (result > 0) { return(JsonResponses.Success); } return(JsonResponses.Failed); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(JsonResponses.Failed); }
public ActionResult <JsonResponses> Create([FromForm] PdProject project) { try { //bool checkResult = true; project.ProjectNo = AutoIDWorker.Example.GetAutoSequence(); project.InputTime = DateTime.Now; int result = DataHandleManager.Instance().PdProjectHandle.Insert(project); if (result > 0) { return(JsonResponses.Success); } return(JsonResponses.Failed); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } return(JsonResponses.Failed); }
/// <summary> /// 拉去项目代码 /// </summary> /// <param name="project"></param> /// <returns></returns> public bool GitProjectSourceCode(PdProject project, string RequestUser) { string enlistmentRoot = project.SourcePath; string workingDirectory = project.SourcePath; string repoUrl = project.VersionUrl; string gitBinPath = project.GitBinPath; GitBaseConfig config = new GitAuthConfig(enlistmentRoot, workingDirectory, repoUrl, gitBinPath); CloneService cloneService = new CloneService(config); ConfigResult configResult = cloneService.GetFromLocalConfig(GitConstant.GitCommandConfig.RemoteOriginUrl); string value = ""; string error = ""; Result result; if (configResult.TryParseAsString(out value, out error)) { ConfigResult configResult1 = cloneService.GetFromLocalConfig($"branch.{project.GitBranch}.remote"); if (configResult1.TryParseAsString(out value, out error) && !String.IsNullOrEmpty(value)) { result = cloneService.GitPull(); } else { result = cloneService.ForceCheckout(project.GitBranch); } } else { result = cloneService.GitClone(project.VersionUrl, project.GitBranch); } string message = JsonConvert.SerializeObject(project); string HandleUser = ServerConstData.ServerName; LoginResultType resultType = result.ExitCode == 0 ? LoginResultType.SUCCESS_PUBLISHGIT : LoginResultType.FAILED; int HandleResult = (int)resultType; DataHandleManager.Instance().UcLoginLogHandle. InsertPublishDeployGitLog(RequestUser, message, HandleUser, HandleResult, result.Output); return(result.ExitCodeIsSuccess); }
public JsonResult PdProjectUpdate(PdProject model) { JsonResponses responses = serverSdk.Update(model); return(Json(responses, JsonRequestBehavior.AllowGet)); }