コード例 #1
0
        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);
            }
        }
コード例 #2
0
 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);
             }
         }
     }
 }
コード例 #3
0
        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();
        }