コード例 #1
0
        public bool Execute(ExportArgs args)
        {
            try
            {
                Console.WriteLine("SIM: Starting Export");

                var instance = InstanceManager.GetInstance(args.InstanceName);
                if (instance == null)
                {
                    Console.WriteLine("SIM: Error! The instance with the name {0} does not exist", args.InstanceName);
                    return false;
                }

                var exportArgs = new SIM.Pipelines.Export.ExportArgs(
                    instance,
                    wipeSqlServerCredentials: false,
                    includeMongoDatabases: true,
                    includeTempFolderContents: false,
                    includeMediaCacheFolderContents: true,
                    excludeUploadFolderContents: true,
                    excludeLicenseFile: true,
                    excludeDiagnosticsFolderContents: true,
                    excludeLogsFolderContents: true,
                    excludePackagesFolderContents: true,
                    exportFilePath: args.ExportFilePath,
                    selectedDatabases: new[] { "core", "master", "web", "reporting" },
                    ignoreFiles: args.IgnoreFiles);

                IPipelineController controller = new ConsoleController();

                // Export the sucker
                PipelineManager.Initialize();
                PipelineManager.StartPipeline(
                    "export",
                    exportArgs,
                    controller,
                    false);

                Console.WriteLine("SIM: Finished Export");
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Sitecore SIM export failed {0}", ex);
                return false;
            }
        }
コード例 #2
0
        public bool Execute(ImportArgs args)
        {
            try
            {
                Console.WriteLine("SIM: Starting Import");

                Debug.Assert(args.PathToExportedInstance != null, "args.PathToExportedInstance != null");
                Debug.Assert(args.SiteName != null, "args.SiteName != null");
                Debug.Assert(args.TemporaryPathToUnpack != null, "args.TemporaryPathToUnpack != null");
                Debug.Assert(args.RootPath != null, "args.RootPath != null");
                Debug.Assert(args.ConnectionString != null, "args.ConnectionString != null");
                Debug.Assert(args.Bindings != null, "args.Bindings != null");

                if (args.UpdateLicense)
                {
                    Debug.Assert(args.PathToLicenseFile != null, "args.PathToLicenseFile != null");
                }

                var importArgs = new SIM.Pipelines.Import.ImportArgs(
                    args.PathToExportedInstance,
                    args.SiteName,
                    args.TemporaryPathToUnpack,
                    args.RootPath,
                    args.ConnectionString,
                    args.UpdateLicense,
                    args.PathToLicenseFile,
                    args.Bindings);

                IPipelineController controller = new ConsoleController();

                // Import the sucker
                PipelineManager.Initialize();
                PipelineManager.StartPipeline(
                    "import",
                    importArgs,
                    controller,
                    false);

                Console.WriteLine("SIM: Finished Import");
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Sitecore SIM import failed {0}", ex);
                return false;
            }
        }
コード例 #3
0
        public bool Execute(ExportArgs args)
        {
            try
            {
                Console.WriteLine("SIM: Starting Export");

                var instance = InstanceManager.GetInstance(args.InstanceName);
                if (instance == null)
                {
                    Console.WriteLine("SIM: Error! The instance with the name {0} does not exist", args.InstanceName);
                    return(false);
                }

                var exportArgs = new SIM.Pipelines.Export.ExportArgs(
                    instance,
                    wipeSqlServerCredentials: false,
                    includeMongoDatabases: true,
                    includeTempFolderContents: false,
                    includeMediaCacheFolderContents: true,
                    excludeUploadFolderContents: true,
                    excludeLicenseFile: true,
                    excludeDiagnosticsFolderContents: true,
                    excludeLogsFolderContents: true,
                    excludePackagesFolderContents: true,
                    exportFilePath: args.ExportFilePath,
                    selectedDatabases: new[] { "core", "master", "web", "reporting" });

                IPipelineController controller = new ConsoleController();

                // Export the sucker
                PipelineManager.Initialize();
                PipelineManager.StartPipeline(
                    "export",
                    exportArgs,
                    controller,
                    false);

                Console.WriteLine("SIM: Finished Export");
                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Sitecore SIM export failed {0}", ex);
                return(false);
            }
        }
コード例 #4
0
        public bool Execute(DeleteArgs args)
        {
            try
            {
                System.Console.WriteLine("SIM: Starting Delete");

                InstanceManager.Initialize(args.InstanceDirectory);
                var instance = InstanceManager.GetInstance(args.InstanceName);


                if (instance == null)
                {
                    System.Console.WriteLine("SIM: Warning! Can't detect installed instance {0}", args.InstanceName);
                    return(true);
                }

                SIM.Pipelines.Delete.DeleteArgs deleteArgs = new SIM.Pipelines.Delete.DeleteArgs(instance, new SqlConnectionStringBuilder(args.ConnectionString));
                IPipelineController             controller = new ConsoleController();

                PipelineManager.Initialize();

                PipelineManager.StartPipeline(
                    "delete",
                    deleteArgs,
                    controller,
                    false);

                System.Console.WriteLine("SIM: Finished Delete");

                return(true);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("Sitecore SIM install failed", ex);
                return(false);
            }
        }
コード例 #5
0
        public bool Execute(DeleteArgs args)
        {
            try
            {
                System.Console.WriteLine("SIM: Starting Delete");

                InstanceManager.Initialize(args.InstanceDirectory);
                var instance = InstanceManager.GetInstance(args.InstanceName);

                if (instance == null)
                {
                    System.Console.WriteLine("SIM: Warning! Can't detect installed instance {0}", args.InstanceName);
                    return true;
                }

                SIM.Pipelines.Delete.DeleteArgs deleteArgs = new SIM.Pipelines.Delete.DeleteArgs(instance, new SqlConnectionStringBuilder(args.ConnectionString));
                IPipelineController controller = new ConsoleController();

                PipelineManager.Initialize();

                PipelineManager.StartPipeline(
                    "delete",
                    deleteArgs,
                    controller,
                    false);

                System.Console.WriteLine("SIM: Finished Delete");

                return true;
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("Sitecore SIM install failed", ex);
                return false;
            }
        }
コード例 #6
0
        public bool Execute(InstallArgs args)
        {
            try
            {
                System.Console.WriteLine("SIM: Starting Install");

                string instanceRootDirectoryPath = args.InstanceDirectory + "\\" + args.InstanceName;

                Instance instance = InstanceManager.GetInstance(args.InstanceName);
                if (instance != null)
                {
                    Console.WriteLine("SIM: Warning! The instance with the same ({0}) name already exists",
                        args.InstanceName);
                }

                // Next lets check the rootDirectoryPath folder for uniqueness
                if (Directory.Exists(instanceRootDirectoryPath))
                {
                    Console.WriteLine("SIM: Warning! The folder {0} already exists", instanceRootDirectoryPath);
                }

                Product product;
                string repoFullPath = args.RepoDirectory + "\\" + args.RepoFile;

                var result = Product.TryParse(repoFullPath, out product);
                if (result == false)
                {
                    System.Console.WriteLine("SIM: Warning! Can't detect Sitecore-based product in {0} file", args.RepoFile);
                }

                var modules = new List<Product>();

                if (!string.IsNullOrEmpty(args.Modules))
                {
                    var modulesNames = args.Modules.Split('|');
                    foreach (var moduleName in modulesNames)
                    {
                        string modulePath = args.RepoDirectory + "\\" + moduleName;
                        Product module;
                        Product.TryParse(modulePath, out module);

                        if (module != null)
                        {
                            modules.Add(module);
                        }
                    }
                }

                SIM.Pipelines.Install.InstallArgs installArgs = new SIM.Pipelines.Install.InstallArgs(
                    args.InstanceName,
                    args.InstanceName,
                    product,
                    instanceRootDirectoryPath,
                    new SqlConnectionStringBuilder(args.ConnectionString),
                    args.AppPoolIdentity,
                    args.AppPoolIdentity,
                    new FileInfo(args.LicencePath),
                    true,
                    false,
                    false,
                    modules);

                IPipelineController controller = new ConsoleController();

                // Lets start installation
                PipelineManager.Initialize();
                PipelineManager.StartPipeline(
                    "install",
                    installArgs,
                    controller,
                    false);

                System.Console.WriteLine("SIM: Finished Install");

                return true;
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("Sitecore SIM install failed {0}", ex);
                return false;
            }
        }
コード例 #7
0
        public bool Execute(InstallArgs args)
        {
            try
            {
                System.Console.WriteLine("SIM: Starting Install");

                string instanceRootDirectoryPath = args.InstanceDirectory + "\\" + args.InstanceName;


                Instance instance = InstanceManager.GetInstance(args.InstanceName);
                if (instance != null)
                {
                    Console.WriteLine("SIM: Warning! The instance with the same ({0}) name already exists",
                                      args.InstanceName);
                }

                // Next lets check the rootDirectoryPath folder for uniqueness
                if (Directory.Exists(instanceRootDirectoryPath))
                {
                    Console.WriteLine("SIM: Warning! The folder {0} already exists", instanceRootDirectoryPath);
                }

                Product product;
                string  repoFullPath = args.RepoDirectory + "\\" + args.RepoFile;

                var result = Product.TryParse(repoFullPath, out product);
                if (result == false)
                {
                    System.Console.WriteLine("SIM: Warning! Can't detect Sitecore-based product in {0} file", args.RepoFile);
                }

                var modules = new List <Product>();

                if (!string.IsNullOrEmpty(args.Modules))
                {
                    var modulesNames = args.Modules.Split('|');
                    foreach (var moduleName in modulesNames)
                    {
                        string  modulePath = args.RepoDirectory + "\\" + moduleName;
                        Product module;
                        Product.TryParse(modulePath, out module);

                        if (module != null)
                        {
                            modules.Add(module);
                        }
                    }
                }

                SIM.Pipelines.Install.InstallArgs installArgs = new SIM.Pipelines.Install.InstallArgs(
                    args.InstanceName,
                    args.InstanceName,
                    product,
                    instanceRootDirectoryPath,
                    new SqlConnectionStringBuilder(args.ConnectionString),
                    args.AppPoolIdentity,
                    args.AppPoolIdentity,
                    new FileInfo(args.LicencePath),
                    true,
                    false,
                    false,
                    modules);

                IPipelineController controller = new ConsoleController();

                // Lets start installation
                PipelineManager.Initialize();
                PipelineManager.StartPipeline(
                    "install",
                    installArgs,
                    controller,
                    false);

                System.Console.WriteLine("SIM: Finished Install");

                return(true);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("Sitecore SIM install failed {0}", ex);
                return(false);
            }
        }