public DeploymentResults Deploy(Project project) { DeploymentPackage package = null; DeploymentEnvironment environment = null; try { // Compile the project first before we attempt to deploy it. DeploymentResults compileResults = project.Compile(); if (!compileResults.Successful) { // Is the compile was unsuccesfull, return the results return(compileResults); } // Create a logger that is required by the deployment package ProjectLogger logger = new ProjectLogger(); logger.Verbosity = Microsoft.Build.Framework.LoggerVerbosity.Diagnostic; project.SetOutputLogger(logger); // Create a new deployment package package = project.CreateDeploymentPackage(); // The deployment package requires at least one environment, so add a default one. // When deployment is done via VisualStudio, the environments are automatically set // up from the ones available in the Environment Library. environment = package.AddEnvironment("Default"); package.SelectedEnvironment = environment.Name; package.SmartObjectConnectionString = _smartObjectConnectionString; package.WorkflowManagementConnectionString = _workflowManagementConnectionString; // Start the deployment return(project.Deploy(package)); } finally { if (package != null) { package.Dispose(); package = null; } if (environment != null) { environment.Dispose(); environment = null; } } }
public static FileInfo SaveXml(DeploymentPackage deploymentPackage) { if (deploymentPackage == null) { throw new ArgumentException(nameof(deploymentPackage)); } var xmlSerializer = new XmlSerializer(typeof(DeploymentPackage)); using (var sw = new StreamWriter(Manifestfilename)) { xmlSerializer.Serialize(sw, deploymentPackage); } return(new FileInfo(Manifestfilename)); }
public static DeploymentPackage GetPackage(string environmentServer, string destinationTemplate, string destinationEnvironment, Project project, bool testOnly) { //Create connection string to environment server var envionmentServerConnection = EnvionmentServerConnection(environmentServer); //Retrieve the environments from the server EnvironmentSettingsManager environmentManager = new EnvironmentSettingsManager(true); environmentManager.ConnectToServer(envionmentServerConnection); environmentManager.InitializeSettingsManager(true); environmentManager.Refresh(); //Get the template and environment objects. EnvironmentTemplate template = environmentManager.EnvironmentTemplates[destinationTemplate]; EnvironmentInstance environment = template.Environments[destinationEnvironment]; //Create the package DeploymentPackage package = project.CreateDeploymentPackage(); //Set all of the environment fields to the package DeploymentEnvironment deploymentEnv = package.AddEnvironment(environment.EnvironmentName); foreach (EnvironmentField field in environment.EnvironmentFields) { deploymentEnv.Properties[field.FieldName] = field.Value; } //Set fields on the package package.SelectedEnvironment = destinationEnvironment; package.DeploymentLabelName = DateTime.Now.ToString(CultureInfo.InvariantCulture); package.DeploymentLabelDescription = "Template: " + destinationTemplate + ",Environment: " + destinationEnvironment; package.TestOnly = testOnly; //Get the Default SmartObject Server in the Environment //environment.GetDefaultField(typeof(SmartObjectField)); package.SmartObjectConnectionString = envionmentServerConnection; //Get the Default Workflow Management Server in the Environment //environment.GetDefaultField(typeof(WorkflowManagementServerField)); package.WorkflowManagementConnectionString = envionmentServerConnection; return(package); }
private static void CreateZipFile(IComponent component, string path) { Console.WriteLine($"Rozpoczecie tworzenia paczki {component.Name}"); Console.Write("Stworzenie Deployment Component..."); var dc = component.GetDeploymentComponent(); var dp = new DeploymentPackage { DeploymentComponent = new[] { dc } }; Console.WriteLine("OK"); Console.Write("Stworzenie manifestu..."); var manifestFile = Helper.SaveXml(dp); Console.WriteLine("OK"); var allFileZip = new List <FileInfo>(); allFileZip.AddRange(component.Files); allFileZip.Add(manifestFile); var pathToWorkingFolder = Path.Combine(path, $"{component.Name}.zip"); Console.Write($"Stworzenie archiwum w {pathToWorkingFolder}..."); Helper.CreateZipFile(allFileZip, pathToWorkingFolder); Console.WriteLine("OK"); Console.WriteLine("Zakończenie generowania paczki"); }