private void Deploy() { Logger?.Info("DashboardUpdator - deploying"); string source; if (DownloadUrl.EndsWith(".zip", System.StringComparison.OrdinalIgnoreCase)) { var filename = Path.GetFileName(DownloadUrl); source = Path.Combine(DownloadFolder, Path.GetFileNameWithoutExtension(filename)); } else { source = DownloadFolder; } var robo = new ExecutableUtil() { Executable = "robocopy.exe", SuccessCodes = new[] { 0, 1 }, Args = $"\"{source}\" \"{DashboardFolder}\" /E /PURGE /XA:H /XD Config" }; var result = robo.Run(); if (result.WasSuccess) { Logger?.Info("DashboardUpdator - deploy success"); } else { Logger?.Error("DashboardUpdator - deploy fail"); SystemLogger?.Error("DashboardUpdator - deploy fail\n" + result.Output); } }
private void Download() { if (DownloadUrl.StartsWith("http", System.StringComparison.OrdinalIgnoreCase)) { var downloader = new AssetDownloader(DownloadUrl, Path.GetFileName(DownloadUrl)) { DownloadFolder = DownloadFolder }; downloader.DownloadProgressChanged += Downloader_DownloadProgressChanged; downloader.Download(); } else { if (DownloadUrl.EndsWith(".zip", System.StringComparison.OrdinalIgnoreCase)) { File.Copy(DownloadUrl, Path.Combine(DownloadFolder, Path.GetFileName(DownloadUrl))); } else { var robo = new ExecutableUtil() { Executable = "robocopy.exe", SuccessCodes = new[] { 0, 1 }, Args = $"\"{DownloadUrl}\" \"{DownloadFolder}\" /E /PURGE /XA:H" }; var result = robo.Run(); if (!result.WasSuccess) { throw new System.Exception(result.Output); } } } }
public void Test() { var dir = @"C:\Program Files (x86)\CruiseControl.NET\tqdashboardUpdate\web"; var DashboardFolder = @"C:\Program Files (x86)\CruiseControl.NET\tqoondashboard"; var exec = new ExecutableUtil() { Executable = "robocopy.exe", SuccessCodes = new[] { 0, 1 } }; exec.Args = $"\"{dir}\" \"{DashboardFolder}\" /E /PURGE /XA:H /XD Config"; var result = exec.Run(); }