/// <summary> /// Creates a WebFarm /// </summary> /// <param name="settings">The settings of the WebFarm</param> /// <returns>If the WebFarm was added.</returns> public void Create(WebFarmSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } if (string.IsNullOrWhiteSpace(settings.Name)) { throw new ArgumentException("WebFarm name cannot be null!"); } //Get Farm ConfigurationElementCollection farms = this.GetFarms(); ConfigurationElement farm = farms.FirstOrDefault(f => f.GetAttributeValue("name").ToString() == settings.Name); if (farm != null) { _Log.Information("WebFarm '{0}' already exists.", settings.Name); if (settings.Overwrite) { _Log.Information("WebFarm '{0}' will be overriden by request.", settings.Name); this.Delete(settings.Name); } else { return; } } //Create Farm farm = farms.CreateElement("webFarm"); farm["name"] = settings.Name; //Add Server ConfigurationElementCollection servers = farm.GetCollection(); foreach (string server in settings.Servers) { ConfigurationElement serverElement = servers.CreateElement("server"); serverElement["address"] = server; servers.Add(serverElement); _Log.Information("Adding server '{0}'.", server); } farms.Add(farm); _Server.CommitChanges(); _Log.Information("WebFarm created."); }
//Farms public void Create(WebFarmSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } if (string.IsNullOrWhiteSpace(settings.Name)) { throw new ArgumentException("WebFarm name cannot be null!"); } //Get Farm ConfigurationElementCollection farms = this.GetFarms(); ConfigurationElement farm = farms.FirstOrDefault(f => f.GetAttributeValue("name").ToString() == settings.Name); if (farm != null) { _Log.Information("WebFarm '{0}' already exists.", settings.Name); if (settings.Overwrite) { _Log.Information("WebFarm '{0}' will be overriden by request.", settings.Name); this.Delete(settings.Name); } else { return; } } //Create Farm farm = farms.CreateElement("webFarm"); farm["name"] = settings.Name; //Add Server ConfigurationElementCollection servers = farm.GetCollection(); foreach (string server in settings.Servers) { ConfigurationElement serverElement = servers.CreateElement("server"); serverElement["address"] = server; servers.Add(serverElement); _Log.Information("Adding server '{0}'.", server); } farms.Add(farm); _Server.CommitChanges(); _Log.Information("WebFarm created."); }
public static void CreateWebFarm(this ICakeContext context, string server, WebFarmSettings settings) { using (ServerManager manager = BaseManager.Connect(server)) { WebFarmManager .Using(context.Environment, context.Log, manager) .Create(settings); } }
public static void CreateWebFarm(this ICakeContext context, WebFarmSettings settings) { context.CreateWebFarm("", settings); }