示例#1
0
        public void Execute(DeploymentTaskContext context)
        {
            _context = context;
            var exePath = Folder.Combine(_serviceFolder, _hostFileName);

            var arguments = "config-sample";

            context.BuildLog.WriteLine($"Executing: '{exePath} {arguments}'");

            var result = ProcessStarter.ExecuteWithParams(exePath, arguments, throwOnError: false);

            if (result.ExitCode == 0)
            {
                var sample = result.StdOut;
                context.BuildLog.WriteLine($"Completion result: {sample}");
                var anEvent = new ConfigSampleReceived(_context.GetValue <ObjectId>(DeploymentTaskContext.DeploymentId), sample);
                _context.Publisher.Publish(anEvent);
            }
            else
            {
                context.BuildLog.WriteLine($"Completion error: {result.StdError}");
                context.BuildLog.WriteLine($"Completion output: {result.StdOut}");
                context.BuildLog.WriteLine($"May be service does not support command 'config-sample'?");
            }
        }
示例#2
0
        public void Execute(DeploymentTaskContext context)
        {
            _instance = context.InstanceName;
            var exePath = Folder.Combine((string)context.Folders.DeployFolder, context.ServiceFileName);

            context.BuildLog.WriteLine("Executing '{0} {1}'", exePath, CommandLineArguments);

            var result = ProcessStarter.ExecuteWithParams(exePath, CommandLineArguments);

            context.BuildLog.WriteLine("Exe output:");
            context.BuildLog.WriteLine(result.StdOut);
            context.BuildLog.WriteLine("Exe error:");
            context.BuildLog.WriteLine(result.StdError);
        }
示例#3
0
        public void Execute(DeploymentTaskContext context)
        {
            _context = context;
            var exePath = Folder.Combine(_serviceFolder, _hostFileName);

            context.BuildLog.WriteLine("Executing '{0} {1}'", exePath, CommandLineArguments);

            var result = ProcessStarter.ExecuteWithParams(exePath, CommandLineArguments);

            context.BuildLog.WriteLine("Exe output:");
            context.BuildLog.WriteLine(result.StdOut);
            context.BuildLog.WriteLine("Exe error:");
            context.BuildLog.WriteLine(result.StdError);
        }
示例#4
0
        public override void Execute(DeploymentTaskContext context)
        {
            var exePath = new FileInfo(Path.Combine(_serviceFolder, _hostFileName));

            if (!exePath.Exists && SkipIfNotFound)
            {
                context.BuildLog.WriteLine("Service executable '{0}' not found. Uninstall skipped", exePath.FullName);
                return;
            }

            if (!IsServiceExists() && SkipIfNotFound)
            {
                context.BuildLog.WriteLine("Service '{0}' are not installed. Uninstall skipped", exePath.FullName);
                return;
            }

            var exeParams = string.Format("uninstall -instance:{0}", _instance);

            context.BuildLog.WriteLine("Executing '{0} {1}'", exePath, exeParams);

            ExecutionResult result        = null;
            string          handledResult = null;

            try
            {
                result = ProcessStarter.ExecuteWithParams(exePath.FullName, exeParams);
            }
            catch (Win32Exception ex)
            {
                if (!SkipIfNotFound)
                {
                    throw;
                }

                TryHandle(ex, out handledResult);
            }

            context.BuildLog.WriteLine("Exe output:");
            context.BuildLog.WriteLine(result);

            context.BuildLog.WriteLine("Exe error:");
            context.BuildLog.WriteLine(handledResult ?? result?.StdError);
        }
示例#5
0
        protected override void ExecuteInternal(DeploymentTaskContext context)
        {
            var exePath = new FileInfo(Path.Combine((string)context.Folders.DeployFolder, context.ServiceFileName));

            if (!exePath.Exists)
            {
                context.BuildLog.WriteLine("Service executable '{0}' not found. Uninstall skipped", exePath.FullName);
                return;
            }

            if (!IsServiceExists())
            {
                context.BuildLog.WriteLine("Service '{0}' are not installed. Uninstall skipped", exePath.FullName);
                return;
            }

            var exeParams = $"uninstall -instance:{context.InstanceName}";

            context.BuildLog.WriteLine("Executing '{0} {1}'", exePath, exeParams);

            ExecutionResult result        = null;
            string          handledResult = null;

            try
            {
                result = ProcessStarter.ExecuteWithParams(exePath.FullName, exeParams);
            }
            catch (Win32Exception ex)
            {
                TryHandle(ex, out handledResult);
            }

            context.BuildLog.WriteLine("Exe output:");
            context.BuildLog.WriteLine(result);

            context.BuildLog.WriteLine("Exe error:");
            context.BuildLog.WriteLine(handledResult ?? result?.StdError);
        }
示例#6
0
        public void Execute(DeploymentTaskContext context)
        {
            var exePath = Folder.Combine((string)context.Folders.DeployFolder, context.ServiceFileName);

            var arguments = "config-sample";

            context.BuildLog.WriteLine($"Executing: '{exePath} {arguments}'");

            var result = ProcessStarter.ExecuteWithParams(exePath, arguments, throwOnError: false);

            if (result.ExitCode == 0)
            {
                var sample = result.StdOut;
                context.BuildLog.WriteLine($"Completion result: {sample}");
                var request = new SetConfigSampleRequest(context.DeploymentId, sample);
                context.Mediator.Send(request);
            }
            else
            {
                context.BuildLog.WriteLine($"Completion error: {result.StdError}");
                context.BuildLog.WriteLine($"Completion output: {result.StdOut}");
                context.BuildLog.WriteLine($"May be service does not support command 'config-sample'?");
            }
        }