コード例 #1
0
 /// <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);
 }
コード例 #2
0
        public JsonResult PdProjectAdd(PdProject model)
        {
            model.InputUser = AppBusiness.loginModel.UserNo;
            JsonResponses responses = serverSdk.Add(model);

            return(Json(responses, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
ファイル: ProjectSdk.cs プロジェクト: 0582zyj/SkeFramework
 /// <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);
 }
コード例 #4
0
        public ActionResult <JsonResponses> GetInfo(int id)
        {
            PdProject Info = new PdProject();

            Info = DataHandleManager.Instance().PdProjectHandle.GetModelByKey(id.ToString());
            return(new JsonResponses(Info));
        }
コード例 #5
0
        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()));
            }
        }
コード例 #6
0
        public ActionResult <JsonResponses> Publish1([FromForm] int id)
        {
            PdProject project = DataHandleManager.Instance().PdProjectHandle.GetProject(id);

            if (project == null)
            {
                return(JsonResponses.Failed);
            }
            return(JsonResponses.Success);
        }
コード例 #7
0
        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));
        }
コード例 #8
0
ファイル: GitHandle.cs プロジェクト: 0582zyj/SkeFramework
        /// <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);
        }
コード例 #9
0
 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);
 }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: GitHandle.cs プロジェクト: 0582zyj/SkeFramework
        /// <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);
        }
コード例 #12
0
        public JsonResult PdProjectUpdate(PdProject model)
        {
            JsonResponses responses = serverSdk.Update(model);

            return(Json(responses, JsonRequestBehavior.AllowGet));
        }