public void DeploymentTest() { var ph = new ProjectHandler().Initialize(); var resp = new SalesforceRepository(ph.GetContext("Dev58 SandBox"), new NoPullStrategy()); var options = new DeployOptions() { CheckOnly = false, IgnoreWarnings = false, PerformeRetrive = false, RollbackOnError = true }; var id = resp.Deploy(@"D:\salesforce.migrations\solution\Dev49 SandBox\10-13-2015-16-08-55", options); MetaDataService.DeployResult result = SalesforceRepositoryHelpers.WaitDeployResult(id, resp.GetContext, new CancellationToken()); if (result.details.componentFailures != null) { foreach (DeployMessage item in result.details.componentFailures) { if (!string.IsNullOrWhiteSpace(item.problem)) { Console.WriteLine(item.problem); } } } Assert.IsTrue(result.done); }
public string Deploy(string folder, DeployOptions options) { if (!Directory.Exists(folder)) { throw new DirectoryNotFoundException(); } if (!Directory.EnumerateDirectories(folder).Any()) { throw new DirectoryNotFoundException("Couldn't find visual force related subfolders under package folder."); } var vfFolders = Path.Combine(folder, "package"); var directories = Directory.EnumerateDirectories(vfFolders); IList <IDeployableItem> members = Enumerable.Cast <IDeployableItem>((from directory in directories from file in Directory.GetFiles(directory, "*.*", SearchOption.AllDirectories) select new SalesForceLocalFileDeployableItem { FileBody = ZipPackageFileHelper.ReadAllBytes(file), FileName = file })).ToList(); byte[] zip = ZipPackageFileHelper.ZipObjectsForDeploy(members.Where(w => w.Type != MetadataType.Unknown).ToList()); SalesforceFileProcessing.SaveByteArray(String.Format("{0}\\package_VF_{1}.zip", folder, Guid.NewGuid()), zip); var id = Context.MetadataServiceAdapter.Deploy(zip, options).id; return(id); }
public string Deploy(string folder, DeployOptions deployOptions) { if (_deploymentStrategy == null) { throw new InvalidDeploymentStrategyException(); } return(_deploymentStrategy.Deploy(folder, deployOptions)); }
public static void PushStaticResources([Required] string environment, string packagedirectory) { var ph = new ProjectHandler().Initialize(); if (String.IsNullOrWhiteSpace(packagedirectory)) { packagedirectory = System.IO.Directory.GetCurrentDirectory(); } Console.WriteLine("Pushing from: {0}", packagedirectory); try { var resp = new SalesforceRepository(ph.GetContext(environment), null, new StaticResourcesOnlyDeploymentStrategy()); var options = new DeployOptions() { CheckOnly = false, IgnoreWarnings = false, PerformeRetrive = false, RollbackOnError = true }; var id = resp.Deploy(packagedirectory, options); Salesforce.Migrations.Assistant.Library.MetaDataService.DeployResult result = SalesforceRepositoryHelpers.WaitDeployResult(id, resp.GetContext, new CancellationToken()); if (result.details.componentFailures != null) { foreach (DeployMessage item in result.details.componentFailures) { if (!string.IsNullOrWhiteSpace(item.problem)) { Console.WriteLine(item.problem); } } } if (result.done == true && result.success == true) { Console.WriteLine("Deployment completed successfully with no errors!"); } } catch (Exception ex) { Log.Error(ex.Message); throw; } }
public void PushDeployAllFiles() { var ph = new ProjectHandler().Initialize(); var resp = new SalesforceRepository(ph.GetContext("Dev58 SandBox"), null, new VisualForceDeploymentStrategy()); var options = new DeployOptions() { CheckOnly = false, IgnoreWarnings = false, PerformeRetrive = false, RollbackOnError = true }; resp.Deploy(@"D:\\salesforce.migrations\\solution\\Dev54 SandBox\\_current", options); }
public DeployResult DeployComponents(byte[] zipFile, DeployOptions deployOptions, int timeToPollingDeployResultInSeconds, int intervalInSeconds) { throw new NotImplementedException(); }
public static void PushStaticResources([Required] string environment, string packagedirectory) { var ph = new ProjectHandler().Initialize(); if(String.IsNullOrWhiteSpace(packagedirectory)) packagedirectory = System.IO.Directory.GetCurrentDirectory(); Console.WriteLine("Pushing from: {0}", packagedirectory); try { var resp = new SalesforceRepository(ph.GetContext(environment), null, new StaticResourcesOnlyDeploymentStrategy()); var options = new DeployOptions() { CheckOnly = false, IgnoreWarnings = false, PerformeRetrive = false, RollbackOnError = true }; var id = resp.Deploy(packagedirectory, options); Salesforce.Migrations.Assistant.Library.MetaDataService.DeployResult result = SalesforceRepositoryHelpers.WaitDeployResult(id, resp.GetContext, new CancellationToken()); if (result.details.componentFailures != null) { foreach (DeployMessage item in result.details.componentFailures) { if (!string.IsNullOrWhiteSpace(item.problem)) { Console.WriteLine(item.problem); } } } if (result.done == true && result.success == true) { Console.WriteLine("Deployment completed successfully with no errors!"); } } catch (Exception ex) { Log.Error(ex.Message); throw; } }
public void PushDeployAllFiles() { var ph = new ProjectHandler().Initialize(); var resp = new SalesforceRepository(ph.GetContext("Dev58 SandBox"),null, new VisualForceDeploymentStrategy()); var options = new DeployOptions() { CheckOnly = false, IgnoreWarnings = false, PerformeRetrive = false, RollbackOnError = true }; resp.Deploy(@"D:\\salesforce.migrations\\solution\\Dev54 SandBox\\_current", options); }
public string Deploy(string folder, DeployOptions options) { if (!Directory.Exists(folder)) { throw new DirectoryNotFoundException(); } var staticResourceFolder = Path.Combine(folder, "package\\staticresources"); if (!Directory.Exists(staticResourceFolder)) { throw new DirectoryNotFoundException("Couldn't find static resources subfolder under package folder."); } var directories = Directory.EnumerateDirectories(staticResourceFolder); IList <IDeployableItem> members = new List <IDeployableItem>(); foreach (var directory in directories) { var splits = directory.Split('\\'); var zipName = splits[splits.Length - 1]; string[] files = Directory.GetFiles(directory, "*.*", SearchOption.AllDirectories); var directoryPlusZipName = Path.Combine(staticResourceFolder, zipName); using (ZipFile zip = new ZipFile()) { foreach (var file in files) { var zipFileNamePlusDirectory = file.Replace(directoryPlusZipName, String.Empty); var zipDirectory = Path.GetDirectoryName(zipFileNamePlusDirectory); zip.AddFile(file, zipDirectory); } MemoryStream memoryStream = new MemoryStream(); zip.Save(memoryStream); members.Add(new StaticResourceDeployableItem { FileBody = memoryStream.ToArray(), FileName = String.Format("{0}\\{1}.resource", directory, zipName), FileNameWithoutExtension = String.Format("{0}", zipName) }); XmlOutput xo = new XmlOutput() .XmlDeclaration() .Node("StaticResource").Attribute("xmlns", "http://soap.sforce.com/2006/04/metadata").Within() .Node("cacheControl").InnerText("Public") .Node("contentType").InnerText("application/zip").EndWithin(); members.Add(new StaticResourceDeployableItem { FileBody = System.Text.Encoding.Default.GetBytes(xo.GetOuterXml()), FileName = String.Format("{0}\\{1}.resource-meta.xml", directory, zipName), FileNameWithoutExtension = String.Format("{0}.resource-meta.xml", zipName), AddToPackage = false }); } } PackageEntity pe = new PackageEntity { Types = new[] { new PackageTypeEntity { Members = members.Where(w => w.AddToPackage).Select(s => s.FileNameWithoutExtension).ToArray(), Name = "StaticResource" } }, Version = "29.0" }; var zipFile = UnzipPackageFilesHelper.ZipObjectsForDeploy(members, pe.GetXml().OuterXml); SalesforceFileProcessing.SaveByteArray(String.Format("{0}\\package_{1}.zip", folder, Guid.NewGuid()), zipFile); var id = Context.MetadataServiceAdapter.Deploy(zipFile, options).id; return(id); }