public ActionResult NippsBackup(Models.Nipps nipps) { ViewBag.Title = Resources.Global.BackupTitle; string backupServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/BackupApplication"); NippsPackageRequest backupRequest = new NippsPackageRequest { NippsPackages = new List <NippsPackage> { new NippsPackage { ApplicationName = nipps.ApplicationName, SiteName = nipps.SiteName, HostName = nipps.HostName } } }; NippsPackageResponse backupResponse = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(backupServiceUrl, backupRequest); ViewBag.Result = backupResponse.Result; ViewBag.ResultMessages = backupResponse.ResultMessages; ViewBag.ReturnToAction = ReturnToAction; ViewBag.ReturnToController = ReturnToController; ViewBag.Title = Resources.Global.BackupTitle; return(View(NippsSiteHelper.ResultMessageView)); }
public ActionResult NippsRestore(Models.Nipps nipps, string restore) { ViewBag.Title = Resources.Global.RestoreTitle; string restoreServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/RestoreApplication"); NippsPackageRequest request = new NippsPackageRequest { NippsPackages = new List <NippsPackage> { new NippsPackage { HostName = nipps.HostName, SiteName = nipps.SiteName, ApplicationName = nipps.ApplicationName, ApplicationPoolName = nipps.ApplicationPoolName, PackageZIP = restore } } }; NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(restoreServiceUrl, request); ViewBag.Result = response.Result; ViewBag.ResultMessages = response.ResultMessages; ViewBag.ReturnToAction = ReturnToAction; ViewBag.ReturnToController = ReturnToController; ViewBag.Title = Resources.Global.RestoreTitle; return(View(NippsSiteHelper.ResultMessageView)); }
public NippsPackageResponse UpgradeApplicationList(NippsPackageRequest request) { NippsPackageResponse response = new NippsPackageResponse(); string BackupTargetPath = GetBackupTargetPath(); response.Result = Result.OK; response.ResultMessages = new List <string>(); if (request != null && request.NippsPackages != null && request.NippsPackages.Count > 0) { foreach (string fileName in Directory.GetFiles(BackupTargetPath, "Upgr_" + request.NippsPackages[0].ApplicationName.Replace("/", "") + "*.zip", SearchOption.TopDirectoryOnly)) { response.ResultMessages.Add(fileName.Substring(BackupTargetPath.Length)); } } else { foreach (string fileName in Directory.GetFiles(BackupTargetPath, "Upgr_*.zip", SearchOption.TopDirectoryOnly)) { response.ResultMessages.Add(fileName.Substring(BackupTargetPath.Length)); } } return(response); }
public ActionResult NippsUpgradeList(Models.Nipps nipps) { string upgradeServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/UpgradeApplicationList"); NippsPackageRequest request = new NippsPackageRequest { NippsPackages = new List <NippsPackage>() }; if (!String.IsNullOrEmpty(nipps.HostName)) { request.NippsPackages.Add(new NippsPackage { HostName = nipps.HostName, SiteName = nipps.SiteName, ApplicationName = nipps.ApplicationName }); } NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(upgradeServiceUrl, request); ViewBag.ResultList = response.ResultMessages; SetViewBagResult(response, ViewBag); return(View(nipps)); }
public NippsPackageResponse UpgradeApplication(NippsPackageRequest request) { NippsPackageResponse response = new NippsPackageResponse(); response.Result = Result.OK; response.ResultMessages = new List <string>(); _Logger.Info("Checking for upgrade {0}", request); if (request == null || request.NippsPackages == null || request.NippsPackages.Count == 0) { response.ResultMessages.Add("ArgumentNullException: NippsPackages is null or empty."); return(response); } //backup the current version, NippsPackageResponse backupResponse = BackupApplication(request); _Logger.Info("Starting to upgrade {0} with {1}", request, request.NippsPackages[0].PackageZIP); //restore the upgraded version NippsPackageResponse restoreResponse = RestoreApplication(request); _Logger.Info("Starting to execute upgrade.sql {0}", request); //execute upgrade.sql, if exist in the zip return(response); }
public NippsPackageResponse RestoreApplicationList(NippsPackageRequest request) { NippsPackageResponse response = new NippsPackageResponse(); string BackupTargetPath = GetBackupTargetPath(); response.Result = Result.OK; response.ResultMessages = new List <string>(); if (request != null && request.NippsPackages != null && request.NippsPackages.Count > 0) { foreach (NippsPackage np in request.NippsPackages) { foreach (string fileName in Directory.GetFiles(BackupTargetPath, "Appl_" + ZipFileName(np, false).Replace(".zip", "*.zip"), SearchOption.TopDirectoryOnly)) { response.ResultMessages.Add(fileName.Substring(BackupTargetPath.Length)); } } } else { foreach (string fileName in Directory.GetFiles(BackupTargetPath, "Site_*.zip", SearchOption.TopDirectoryOnly)) { response.ResultMessages.Add(fileName.Substring(BackupTargetPath.Length)); } } return(response); }
public ActionResult NippsDeploy(HttpPostedFileBase PackageZIP, Models.Nipps nipps) { string deploymentServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName) + "AddSite"; byte[] packageZipBuffer = new byte[PackageZIP.ContentLength]; PackageZIP.InputStream.Read(packageZipBuffer, 0, PackageZIP.ContentLength); string b64Package = Convert.ToBase64String(packageZipBuffer); NippsPackageRequest nippsPackageRequest = new NippsPackageRequest { NippsPackages = new List <NippsPackage> { new NippsPackage { PackageZIP = b64Package, SiteName = nipps.SiteName, HostName = nipps.HostName, ApplicationPoolName = nipps.ApplicationPoolName, ApplicationName = nipps.ApplicationName } } }; NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(deploymentServiceUrl, nippsPackageRequest); if (response.Result == Result.OK) { return(RedirectToAction("NippsServiceList")); } foreach (String em in response.ResultMessages) { Logger.Error(em); } ViewBag.Result = response.Result; ViewBag.ResultMessages = response.ResultMessages; ViewBag.ReturnToAction = ReturnToAction; ViewBag.ReturnToController = ReturnToController; ViewBag.Title = Resources.Global.DeployTitle; return(View(NippsSiteHelper.ResultMessageView)); }
public BaseResponse RestoreConfiguration(NippsPackageRequest request) { BaseResponse response = new NippsPackageResponse(); response.ResultMessages = new List <string>(); try { if (request != null && request.NippsPackages != null && request.NippsPackages.Count > 0) { string bcpExe = GetBcpExe(); string connectionString = ConfigurationManager.ConnectionStrings["UpgradeDb"].ConnectionString; string dataBase = Regex.Match(connectionString, @"(Initial Catalog=)(\w+)").Value.Replace("Initial Catalog=", ""); string userName = Regex.Match(connectionString, @"(User ID=)(\w+)").Value.Replace("User ID=", ""); string passWord = Regex.Match(connectionString, @"(Password=)(\w+)").Value.Replace("Password="******""); string host = Regex.Match(connectionString, @"(Data Source=)(\w+)").Value.Replace("Data Source=", ""); string sqlArgs = string.Format("-c -C RAW -S {0} -d {1} -U {2} -P {3}", host, dataBase, userName, passWord); foreach (NippsPackage np in request.NippsPackages) { response.ResultMessages.Add( string.Format( "restore {0} exit code -> {1}", np.PackageZIP, ConfigurationRestore(bcpExe, sqlArgs, Regex.Match(np.PackageZIP, "(_)(.*)(_)").Value.Replace("_", ""), np.PackageZIP) ) ); } } response.Result = Result.OK; } catch (Exception ex) { response.Result = Result.FAIL; response.ResultMessages.Add(ex.ToString()); } return(response); }
public NippsPackageResponse RestoreApplication(NippsPackageRequest request) { NippsPackageResponse response = new NippsPackageResponse(); response.Result = Result.OK; response.ResultMessages = new List <string>(); _Logger.Debug(request); foreach (NippsPackage np in request.NippsPackages) { if (String.IsNullOrEmpty(np.ApplicationName)) { np.ApplicationName = "/"; //site restore } _Logger.Debug(np); response.ResultMessages .Add(ApplicationRestore(np)); } return(response); }
public NippsPackageResponse BackupApplication(NippsPackageRequest request) { NippsPackageResponse response = new NippsPackageResponse(); bool succeededOne = false; string BackupTargetPath = GetBackupTargetPath(); response.ResultMessages = new List <string>(); response.Result = Result.OK; _Logger.Debug(request.ToString()); foreach (NippsPackage np in request.NippsPackages) { try { if (String.IsNullOrEmpty(np.ApplicationName)) { np.ApplicationName = "/"; //site backup } response.ResultMessages .Add(ApplicationBackup(np)); succeededOne = true; } catch (Exception ex) { if (succeededOne) { response.Result = Result.SUCCESSWITHWARN; } response.ResultMessages.Add(ex.ToString()); } } return(response); }
public NippsPackageResponse AddSite(NippsPackageRequest nippsPackageRequest) { bool isSucceededOne = false; Logger logger = NLog.LogManager.GetCurrentClassLogger(); NippsPackageResponse response = new NippsPackageResponse(); response.ResultMessages = new List <string>(); response.Result = Result.OK; try { using (ServerManager serverManager = ServerManager.OpenRemote("localhost")) { foreach (NippsPackage nippsPackage in nippsPackageRequest.NippsPackages) { try { Site site = serverManager.Sites .Where(s => s.Name.Equals(nippsPackage.SiteName)) .Single(); if (site != null) { string basePath = SavePackage(nippsPackage, site); string appPath = basePath + nippsPackage.ApplicationName; logger.Debug(string.Format("Application>{0}", appPath)); //execute SQL if exist BaseDaoHelper.ExecuteUpgradeScript(appPath); //add site Application app = site.Applications.Add("/" + nippsPackage.ApplicationName, appPath.Replace("/", "\\")); app.ApplicationPoolName = nippsPackage.ApplicationPoolName; response.ResultMessages.Add( string.Format("[{0} - {1} - {2}]", nippsPackage.SiteName, nippsPackage.ApplicationPoolName, nippsPackage.ApplicationName)); isSucceededOne = true; } } catch (Exception ex) { logger.Error(ex.ToString()); if (isSucceededOne) { response.Result = Result.SUCCESSWITHWARN; } response.ResultMessages.Add(ex.ToString()); } } if (isSucceededOne) { serverManager.CommitChanges(); } } } catch (Exception ex) { logger.Error(ex.ToString()); response.Result = Result.FAIL; response.ResultMessages.Add(ex.ToString()); } return(response); }