Пример #1
0
        protected virtual void Dispose(bool disposeManagedResources)
        {
            if (_isDisposed)
            {
                return;
            }

            if (disposeManagedResources)
            {
                TraceHelper.TraceVerbose(TraceSwitches.TfsDeployer, "{0}.Dispose({1})", GetType(), disposeManagedResources);
                try
                {
                    if (_trigger != null)
                    {
                        _trigger.Stop();
                        _trigger = null;
                    }
                }
                catch (Exception)
                {
                    // swallow. Clean up no matter what.
                }
            }

            _isDisposed = true;
        }
Пример #2
0
        public void Start()
        {
            if (_trigger != null)
            {
                throw new InvalidOperationException("Already started.");
            }

            var listenPrefix = Properties.Settings.Default.BaseAddress;

            if (!listenPrefix.EndsWith("/"))
            {
                listenPrefix += "/";
            }

            var serverProvider         = new AppConfigTfsConnectionProvider();
            var server                 = serverProvider.GetConnection();
            var eventService           = server.GetService <IEventService>();
            var buildServer            = server.GetService <IBuildServer>();
            var versionControlServer   = server.GetService <VersionControlServer>();
            var configurationReader    = new ConfigurationReader(new VersionControlDeploymentFileSource(versionControlServer), Properties.Settings.Default.KeyFile);
            var deploymentFolderSource = new VersionControlDeploymentFolderSource(versionControlServer);
            var baseAddress            = new Uri(listenPrefix + "event/");
            var listener               = new TfsListener(eventService, baseAddress);
            var duplicateEventDetector = new DuplicateEventDetector();

            _trigger = new TfsBuildStatusTrigger(listener, new DeployerFactory(buildServer, configurationReader, deploymentFolderSource), duplicateEventDetector);
            _trigger.Start();
        }
Пример #3
0
        private static void RunAsConsole()
        {
            try
            {
                Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

                var trigger = new TfsBuildStatusTrigger();
                trigger.Start();
                Console.WriteLine("Hit Enter to stop the service");
                Console.ReadKey();
                trigger.Stop();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Пример #4
0
 public TfsDeployerApplication(TfsBuildStatusTrigger trigger, DeployerServiceHost serviceHost)
 {
     _trigger     = trigger;
     _serviceHost = serviceHost;
 }