private string ExcuteDeploy(FormHandler.FormItem fileItem) { var re = DeployExcutor(fileItem); try { if (_formHandler == null) { return(re); } if (!string.IsNullOrEmpty(re)) { return(re); } if (string.IsNullOrEmpty(ProjectPublishFolder) || !Directory.Exists(ProjectPublishFolder)) { return(re); } //保存参数 var formArgs = _formHandler.FormItems.Where(r => r.FileBody == null || r.FileBody.Length < 1).ToList(); if (formArgs.Any()) { var path = Path.Combine(ProjectPublishFolder, "antdeploy_args.json"); var content = JsonConvert.SerializeObject(formArgs); File.WriteAllText(path, content, Encoding.UTF8); } SaveCurrentVersion(ProjectPublishFolder); } catch (Exception) { //ignore } var projectRootPath = new DirectoryInfo(ProjectPublishFolder).Parent; if (projectRootPath == null || !projectRootPath.Exists) { return(re); } //每次发布完成后清理老的发布历史记录 只清理自己项目的 //防止别的项目正在回滚到某个版本,你这边发现这个版本已经过时了就删除了 Setting.ClearOldFolders(ProviderName.Equals("iis") || ProjectName.Equals("linux"), projectRootPath.Name, Log); return(re); }