public IReportStatus Execute(IReportStatus status, ConDepOptions options) { try { Logger.LogSectionStart("Post-Operations"); var postRemoteOp = new PostRemoteOps(); postRemoteOp.Configure(this); foreach (var server in ConDepGlobals.ServersWithPreOps.Values) { foreach (var element in _sequence) { if (element is IOperateRemote) { ((IOperateRemote)element).Execute(server, status, options); if (status.HasErrors) { return(status); } } else if (element is CompositeSequence) { ((CompositeSequence)element).Execute(server, status, options); } else { throw new NotSupportedException(); } if (status.HasErrors) { return(status); } } } } finally { try { WebDeployDeployer.DisposeAll(); } catch (Exception ex) { Logger.Warn("Unable to remove Web Deploy from server(s).", ex); } Logger.LogSectionEnd("Post-Operations"); } return(status); }
private static void ExecutePostOps(ConDepSettings conDepSettings, IReportStatus status, CancellationToken token) { foreach (var server in conDepSettings.Config.Servers) { //Todo: This will not work with ConDep server. After first run, this key will always exist. if (ConDepGlobals.ServersWithPreOps.ContainsKey(server.Name)) { var remotePostOps = new PostRemoteOps(); remotePostOps.Execute(server, status, conDepSettings, token); ConDepGlobals.ServersWithPreOps.Remove(server.Name); } } }