Changes in Windows Azure web role via remote desktop are not propagating - deployment

I have deployed a web role on Windows Azure. It runs on one instance only. I set up the remote desktop to access it.
At the moment I need to change only two lines in a JavaScript file in the website.
I connected to the instance then ...
navigated to the E:\approot\Scripts
opened the target file, edited it
Changes didn't propagate. (I download the old content)
Then I tried to
Stop the IIS in web role
Edit the file
Start the IIS again
Changes didn't propagate (When I open the file in the RD I see my new content, but when open via http I see the old content)
Then I tried
Opened RD
Navigated to the file and edited it
Rebooted the instance via Windows Azure control panel
Again connected to RD
I still see the old content in the remote server
My question is what I should do in order to change only one file without redeploying the whole package?

My guess is you're editing the wrong location. Look in e:\sitesroot\0 (or something like that). When in doubt, open the IIS config UI and find out exactly where the website content lives.
EDIT: But as Dennis pointed out, changes you make this way don't persist, so use this only for testing.

I have had this work before, but there problems with this type of change. If something happened to the hardware you are running on and your instance needed to be 'healed', it will only be created from the package you uploaded. Azure does not know about the file edits you have made via RD.
There is not a way to make a single file change in side of a cloud service right now, but with the new Azure web site functionality it is just a git push or tfs push away.

You should be able to do a web deploy by right clicking on your website project (not the azure role project). This will only deploy files which have changed to the active instance. I believe there is a setting in your azure deployment profile (next to the remote desktop one) to enable this.
As noted in other answers these changes are lost should azure need to recreate or provision additional instances. Still, it is a great way to make incremental changes for development.

Related

Getting requests only in one computer in UmbracoApi

I have a Umbraco API project that using the UmbracoCms library V 7.15.3. The project work properly, but from some reason after that i copy the project to another computer. The API stop to work there and requests did not comes to the controller.
Is there a reason for something like this to happen?
Umbraco gives you a web application which you need to install and setup somewhere before it will work.
You probably used their installer initially which created an IIS website and a database for you. You don't need to re-run the installer, but you do need to copy the database and all the files and re-create the website in IIS on the other computer.
Simply moving files around is not enough.

Backup configuration page not loading

I upgraded my app service to Standard a few days ago. However, when I go to the backup configuration page, it never finishes loading. I just get the dots across the top of the screen forever.
According to your description, I have checked this issue. Per my test, I found I could not configure my backups for my mobile app on Azure Portal as follows:
While for web app, I could configure the backups via Azure Portal as follows:
Then I Use REST to back up and restore App Service apps and Use PowerShell to back up and restore App Service apps to check this issue. After configure the backup for my mobile app, I could see the Configure button on Azure Portal, but when I try to change the backup configuration, I encountered the same issue as you mentioned.
Per my understanding, you could leverage the powershell command Edit-AzureRmWebAppBackupConfiguration for a simple way to edit your Backup Configuration, you could refer to here for more details.

ColdFusion Builder 3 vs. Dreamweaver & local and remote paths

I can't wrap my head around how I'm supposed to use ColdFusion Builder 3 (akin to Eclipse).
Up until this point, I've been using Dreamweaver 5, which is getting 'long-in-the-tooth', and I wanted to give CF Builder a try.
So, in Dreamweaver, it's pretty simple: you setup connections to servers using credentials... There's a Local path, which is the local copy of your code, and the webroot of the Server which is the 'live' copy of your code. Basically, you make a change to the local copy, and PUT the change to the Server. Easy peasy lemon squeezy, right?
But, how does this translate to ColdFusion Builder 3?
Just to give you an idea of our infrastructure.... we have Development and Production. Each of these boxes has multiple web instances, example: Accounting, Human Resources, IT. Each of those web instances could have multiple applications.... I'm only considered about my instance, IT, on both the Production and Development servers.
Is a workspace supposed to represent an instance on a web server?
In CFBuilder, should I configure 1 server per web app?
Is a project supposed to represent a web app?
Am I supposed to use drive mappings to the inetpub wwwroot for access to web applications? Is it even considered kosher to have a drive mapping to the web root? \server\c$\inetpub\wwwroot
Where do I keep my local copy of my code?
How do I move items from Development to Production?
My main confusion is with workspaces, projects, and servers... My intent is to debug and 'view page in browser' from CFBuilder.... However, when you setup a server, under Server Mapping and URL Prefix, you're supposed to indicate the Local and Remote paths, plus this is not directly related to the physical location of the project.... and as I've mentioned, there's multiple instances, multiple applications, and the development box is not my local machine, it's a remote server...
I would really like to know how others have made this work for them.
I really don't mind this question even though it's not directly code related because I've been using ColdFusion Builder (CFB) for years and there just isn't enough good documentation out there. I now enjoy a great experience with CFB thanks to blog posts and sharing experiences with other devs :)
My setup: CFB3 running on Windows 8.1, dev server running on a Virtual Machine so it is treated as "remote server" just like yours. I also update remote staging and production servers (although not directly from CFB).
First, let's set some reasonable expectations: Dreamweaver and CFB are very different in that CFB focuses on programming and Dreamweaver on design. CFB is built on eclipse and therefore has the advantage of benefiting from most eclipse plugins.
Your question is specifically about how to set up your projects in CFB using 2 remote servers (dev and prod). It's different for everyone but I'll share my setup with you. (sidenote: My projects are also stored in Git repositories - 1 repo for every app)
Starting from the top: A workspace in CFB deals with your whole eclipse application, not just your projects. The most important things kept in this directory are snippets and plugins. You do NOT need to keep your project files in here. This is merely the main directory where all of your settings are kept. You are not required to have more than 1 workspace (I only have one). Why would you need more than one? You may be multifaceted programmer who needs to keep separate workspaces using separate tools (like different plugins, snippets, window layouts...)
To answer your next question (1 server per web app), all you need to to is configure your dev servers in the "CF Servers" tab. You need to add 1 server per web instance for every instance that you'd like to test on. Hopefully, your dev server has RDS enabled (very helpful for remote database and file viewing, just like in Dreamweaver). During configuration, don't worry about Mappings or Virtual Host Settings (I have another recommendation later). Once configured, you'll be able to assign that server to a project.
Drive mappings: I would never recommend mapping to the webroot of a shared dev server. If you were to use that drive map as your local directory, your changes will be made directly to the development server. What you want to do is create a new project by right clicking in the Navigator area and select Import > Other > FTP. Follow the steps, choose anywhere on your local drive to store the files, then choose "New project" at the end (this will add the .project file necessary for CFB to control the project).
Once the project is created, right click on it, select ColdFusion Project and choose the CFML Dictionary version you'll be using (CF11, 10, 9...). Then, select ColdFusion Server Settings and choose the dev server. This is necessary for testing.
What you now have is a local directory with your app and eclipse knows about the remote server. In order to synchronize, you right click on the project, go to Team and synchronize from there. For detailed information about synchronization over FTP, see the help section "Guide to WebDAV and FTP".
Moving to production is not as simple as it was in Dreamweaver. The FTP configuration information only allows for 1 connection (thus giving you a list of files synchronized between your project and the dev server). Therefore, you'll need a third party FTP client to synchronize between your local project and your prod server.
As promised, my last entry will be able the "debugging" which is why I said to skip the mappings and virtual host settings in CF Server config. I really, really recommend using a third party paid plugin called FusionDebug (http://www.fusion-debug.com/). This plugin facilitates the setup and allows you to step-into all of your code (which doesn't work so well in native CFB). There's a 30 day trial and I recommend you try before your buy (or license for a year in this case!)

how can I set up a continuous deployment with TFSBuild for MVC app?

I have some questions around the best mechanism to deploy MVC web applications to different environments. Previously I used setup projects (.msi's) but as these have been discontinued in VS2012 I am looking to move to an alternative.
Let me explain my current setup. I currently have a CI setup using TFSBuild 2010 with Team Foundation Server for source control.
A number of developers work on their local machines and check in to the TFS Server. We regularly deploy to a single server dev environment and a load balanced qa environment with 2 servers. Our current process includes installing an msi which carries out some of the following custom actions:
brings current app offline with the app_offline.htm file
run in database scripts (from database project in the solution)
modifies web.config (different for each web server of qa)
labels the code
warmup each deployed file via http request
etc
This is the current process. Now I would like to make some changes. Firstly, I need alternative to msi's. From som research I believe that web deploy via IIS and using MsDeploy is the best alternative. I can use web config transforms for web config modifications. Is this correct and if so, could I get an outline of what I need to do?
Secondly I want to set up continuous delivery via TFSBuild, I have no idea how this may be achieved, would it be possible to get an outline of how it can be integrated in to my current setup? Rather than check in driven, I would like it to be user driven following check in. Also, would it be possible for this to also run in database scripts from a database project in the solution.
Finally, there is also a production environment, but I would like to manually deploy this - can my process also produce an artifact that I can manually install?
Vishal Joshi has some information on his blog that is reasonably good, http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html. It does have the downside that your deployment password is include in the properties you pass to msbuild.
Syed Hashimi has also posted some information on this in another questions Team Build: Publish locally using MSDeploy.

Click once deployment to a ISP hosted Server (ISP is Lunarpages in this case)

I know this has some crossover to Serverfault.com but the advice on meta.stackoverflow was to ask it here (first) as it requires a .NET dev to answer more than likely.
I am having some problems publishing to my website a Click Once App, I am getting an error message saying (something like) IIS not running, I'm not currently at home to give an exact error message, i'll edit later if it is required to answer this question.
My ISP is lunarpages the plan I am on is this one IIS is definitely running as I have BlogEngine.NET running just fine. Anyone know what is required configuration wise (both server and client) to make this work?
The files that the ClickOnce publish create can be run on just about any web environment (include Apache/Linux.) It simply generates an html page along with the application manifest and your application files. Maybe you can deploy to a local folder and upload the files to the server?