コード例 #1
0
        /// <summary>
        /// Runs this instance.
        /// </summary>
        /// <remarks></remarks>
        public void Run()
        {
            Console.WriteLine("CruiseControl.NET Server {0} -- .NET Continuous Integration Server", Assembly.GetExecutingAssembly().GetName().Version);
            // Find out our copyright claim, if any, and display it.
            AssemblyCopyrightAttribute[] copyrightAttributes = (AssemblyCopyrightAttribute[])Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
            if (copyrightAttributes.Length > 0)
            {
                Console.WriteLine("{0}  All Rights Reserved.", copyrightAttributes[0].Copyright);
            }
            Console.WriteLine(".NET Runtime Version: {0}{2}\tImage Runtime Version: {1}", Environment.Version, Assembly.GetExecutingAssembly().ImageRuntimeVersion, GetRuntime());
            Console.WriteLine("OS Version: {0}\tServer locale: {1}", Environment.OSVersion, CultureInfo.CurrentCulture);
            Console.WriteLine();

            // In DEBUG builds, give the developer a chance to debug our execution
            if (args.LaunchDebugger)
            {
                System.Diagnostics.Debugger.Launch();
            }

            if (args.ShowHelp)
            {
                //Log.Warning(ConsoleRunnerArguments.Usage);
                return;
            }

            if (!args.Logging)
            {
                Log.Warning("Logging has been disabled - no information (except errors) will be written to the log");
                Log.DisableLogging();
            }

            if (args.ValidateConfigOnly)
            {
                serverFactory.Create(false, args.ConfigFile);
                return;
            }
            LaunchServer();
        }
コード例 #2
0
        private void LaunchServer()
        {
            using (ConsoleEventHandler handler = new ConsoleEventHandler())
            {
                handler.OnConsoleEvent += new EventHandler(HandleControlEvent);

                using (server = _serverFactory.Create(_parser.UseRemoting, _parser.ConfigFile))
                {
                    if (_parser.Project == null)
                    {
                        server.Start();
                        server.WaitForExit();
                    }
                    else
                    {
                        server.ForceBuild(_parser.Project, null);
                        server.WaitForExit(_parser.Project);
                    }
                }
            }
        }