private void UpdateSourceControlPublishing(Site createdWebsite)
        {
            try
            {
                Directory.SetCurrentDirectory(SessionState.Path.CurrentFileSystemLocation.Path);
            }
            catch (Exception)
            {
                // Do nothing if session state is not present
            }

            using (LinkedRevisionControl linkedRevisionControl = CreateLinkedRevisionControl())
            {
                linkedRevisionControl.Init();

                CopyIisNodeWhenServerJsPresent();
                UpdateLocalConfigWithSiteName(createdWebsite.Name, createdWebsite.WebSpace);

                InitializeRemoteRepo(createdWebsite.WebSpace, createdWebsite.Name);

                Site updatedWebsite = WebsitesClient.GetWebsite(createdWebsite.Name);

                if (Git)
                {
                    AddRemoteToLocalGitRepo(updatedWebsite);
                }

                linkedRevisionControl.Deploy(updatedWebsite);
            }
        }
        private void GetByName()
        {
            Do(() =>
            {
                if (string.IsNullOrEmpty(Slot))
                {
                    List <Site> websites = WebsitesClient.GetWebsiteSlots(Name);
                    Cache.SaveSites(CurrentSubscription.SubscriptionId, new Sites(websites));

                    if (websites.Count > 1)
                    {
                        WriteWebsites(websites);
                    }
                    else if (websites.Count == 1)
                    {
                        Site websiteObject = websites[0];
                        WriteWebsite(websiteObject);
                    }
                }
                else
                {
                    Site websiteObject = WebsitesClient.GetWebsite(Name, Slot);
                    WriteWebsite(websiteObject);
                }
            });
        }
        private Site CreateSite(WebSpace webspace, SiteWithWebSpace website)
        {
            Site createdWebsite = null;

            try
            {
                if (WebsitesClient.WebsiteExists(website.Name) && !string.IsNullOrEmpty(Slot))
                {
                    createdWebsite = WebsitesClient.GetWebsite(website.Name);

                    // Make sure that the website is in Standard mode
                    if (createdWebsite.ComputeMode == WebSiteComputeMode.Dedicated)
                    {
                        WebsitesClient.CreateWebsite(webspace.Name, website, Slot);
                    }
                    else
                    {
                        throw new Exception("Can not create slot in a website not in Standard mode");
                    }
                }
                else
                {
                    WebsitesClient.CreateWebsite(webspace.Name, website, null);
                }

                createdWebsite = WebsitesClient.GetWebsite(website.Name);

                Cache.AddSite(CurrentContext.Subscription.Id.ToString(), createdWebsite);
                SiteConfig websiteConfiguration = WebsitesClient.GetWebsiteConfiguration(createdWebsite.Name, Slot);
                WriteObject(new SiteWithConfig(createdWebsite, websiteConfiguration));
            }
            catch (CloudException ex)
            {
                if (SiteAlreadyExists(ex) && (Git || GitHub))
                {
                    // Handle conflict - it's ok to attempt to use cmdlet on an
                    // existing website if you're updating the source control stuff.
                    WriteWarning(ex.Message);
                    createdWebsite = WebsitesClient.GetWebsite(website.Name, null);
                }
                else if (HostNameValidationFailed(ex))
                {
                    WriteExceptionError(new Exception(Resources.InvalidHostnameValidation));
                }
                else if (BadPlan(ex))
                {
                    throw new EndpointNotFoundException();
                }
                else
                {
                    WriteExceptionError(new Exception(ex.Message));
                }
            }

            return(createdWebsite);
        }
Exemple #4
0
        private Repository GetRepository(string websiteName)
        {
            Site site = WebsitesClient.GetWebsite(websiteName, Slot);

            if (site != null)
            {
                return(new Repository(site));
            }

            return(null);
        }
Exemple #5
0
 public override void ExecuteCmdlet()
 {
     ConfirmAction(
         Force.IsPresent,
         string.Format(Resources.RemoveWebsiteWarning, Name),
         Resources.RemoveWebsiteMessage,
         Name,
         () =>
     {
         Site websiteObject = WebsitesClient.GetWebsite(Name);
         WebsitesClient.DeleteWebsite(websiteObject.WebSpace, Name);
         Cache.RemoveSite(CurrentSubscription.SubscriptionId, websiteObject);
     });
 }
Exemple #6
0
        public override void ExecuteCmdlet()
        {
            // Get current config
            website = WebsitesClient.GetWebsite(Name, Slot);
            siteConfig = WebsitesClient.GetWebsiteConfiguration(Name, Slot);

            // Update the configuration
            if (siteConfig.RemoteDebuggingEnabled.Value)
            {
                siteConfig.RemoteDebuggingEnabled = false;
                WebsitesClient.UpdateWebsiteConfiguration(Name, siteConfig, Slot);
            }

            if (PassThru.IsPresent)
            {
                WriteObject(true);
            }
        }
Exemple #7
0
 public override void ExecuteCmdlet()
 {
     ConfirmAction(
         Force.IsPresent,
         string.Format(Resources.RemoveWebsiteWarning, Name),
         Resources.RemoveWebsiteMessage,
         Name,
         () =>
     {
         try
         {
             Site websiteObject = WebsitesClient.GetWebsite(Name, Slot);
             WebsitesClient.DeleteWebsite(websiteObject.WebSpace, Name, Slot);
             Cache.RemoveSite(CurrentContext.Subscription.Id.ToString(), websiteObject);
         }
         catch (CloudException)
         {
             // Ignore exception the website slot was deleted when deleting the production.
         }
     });
 }
        private void GetByName()
        {
            Do(() =>
            {
                Site websiteObject = WebsitesClient.GetWebsite(Name);
                SiteConfig config  = WebsitesClient.GetWebsiteConfiguration(Name);
                Cache.AddSite(CurrentSubscription.SubscriptionId, websiteObject);

                var diagnosticSettings = new DiagnosticsSettings();
                try
                {
                    diagnosticSettings = WebsitesClient.GetApplicationDiagnosticsSettings(Name);
                }
                catch
                {
                    // Ignore exception and use default values
                }

                WriteObject(new SiteWithConfig(websiteObject, config, diagnosticSettings), false);
            });
        }
Exemple #9
0
 protected override void ProcessRecord()
 {
     WriteObject(WebsitesClient.GetWebsite(ResourceGroupName, Name, SlotName));
 }
Exemple #10
0
 private void GetCurrentSiteState()
 {
     website           = WebsitesClient.GetWebsite(Name, Slot);
     currentSiteConfig = WebsitesClient.GetWebsiteConfiguration(Name, Slot);
 }
 public override void ExecuteCmdlet()
 {
     WriteObject(WebsitesClient.GetWebsite(ResourceGroupName, Name, SlotName));
 }
        public override void ExecuteCmdlet()
        {
            Site websiteObject = WebsitesClient.GetWebsite(Name, Slot);

            General.LaunchWebPage("http://" + websiteObject.HostNames.First());
        }
        public override void ExecuteCmdlet()
        {
            Site websiteObject = WebsitesClient.GetWebsite(Name, Slot);

            ProcessHelper.Start("http://" + websiteObject.HostNames.First());
        }