Windows Azure: how to update service definition for existing VM role? - networking

I am reviewing Azure Connect, included in the Azure SDK 1.3.
The goal is to connect an existing VM role machine to an already configured local endpoint. Note: using a Web role is not an option.
I need to make the configuration changes described here.
I can update the configuration file, but I first need to be able to update the service definition (.csdef) file to add this entry:
<Import moduleName="Connect" />
Problem: can I update the service definition file without Visual Studio?

Yes, you can update the ServiceDefinition.csdef file with any text editor... and you can package any Windows Azure app with the cspack commandline tool. (This does require the SDK to be installed, but not Visual Studio.)

Related

Deploying ASP.NET Core solution with class library to Azure

I'm working in VS2015 and have a ASP.NET Core solution with two projects - an API Web Project and a Class Library that holds all the data entities, context and Entity Framework migrations. The API project references the class library and all works well on my local machine.
I now want to deploy the solution to Azure and this is where I'm hitting the problem. If I right click on the API project and go through the Azure App Service publish wizard, on the Settings tab I expand Databases and the message is "No databases found for this project" - which I'm guessing is because it can't find a context as it's not in this project.
If I do the same on the CL project though, there is no Azure App Service deployment option, the only option is File System and clearly there's no option to create the database there either.
So, in summary, my question is how I can deploy this type of solution to Azure and have the database created and migrations applied?
I think you need to create the DB first in the azure and then try to publish your application through the wizard. The database is on your local machine and the application will work just fine on your local environment. But on the cloud you have to first create the database on Azure SQL. Then you need to get the SQL connection string from the portal and update your config file accordingly. Once this is done you can then publish your application from Visual Studio. Please note that the wizard will still not show you the databases, but the application, when configured properly will run fine.

Can we retrieve asp.net project from azure?

I am working on a asp.net test project. I were deploy the project to windows azure. After that I add some code and the project stop working, but the project on azure is still working. Is there any way that can make me retrieve the project from azure ?
In visual studio, I can connect to windows azure and displaying the projects that I deployed to it. I can see some of the files but not all. The important files for me which is the controller files doesn't appear.
Azure isn't source control. What you would have published to azure (I'm hoping) will not be the whole code but a 'published' version of it.
Short answer would be no
When you publish a Web dev project to Azure Visual Studio compiles all the source code (.net) you have. Then the compilation results are binary files (.dll) and some other website assets like css,js and html files.
So there are no .Net source files from your project published into the website, because of that you can't get your source files again.
I strongly recommend you to check these links
Continuous deployment using GIT in Azure App Service
Using Git
in Visual Studio
spanish demo - Repositorios Git privados y
gratuitos
Besides of that you can try to use any source code repository or ALM suite, As you're using azure you can also use Visual Studio Online to host your projects for free and also be able to publish directly to azure repositories.
more info Visual Studio Online
You can not get code from this method. use FTp tool, like Core FTP, FileZilla for that.
These are steps get ftp of your web application.
Go to azure (https://portal.azure.com).
Select web app from browser all option.
Select you app from list an then click on settings option.
Then click on properties, then enable you ftp and create password for that.
FTP/Deployment User , FTP HOST Name , Password
Note: You will not get your code fils( .cs).

How to only deploy changed project files in Windows Azure?

I am working on a web project in ASP.NET which is integrated with Salesforce. I have published my web project in Windows Azure. Now I have some changes in particular files and I want to deploy these changes only rather than complete project.
If you are using Web Deploy from within Visual studio, it will automatically only deploy the changed files in a differential manner. Alternatively, if you are using Azure VM's or a Cloud Service (which is actually VM's), you can connect to the machine(s) using RDP and update select files manually. You can get the RDP information to the machine from the Azure Portal.
http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-log-on-windows-server/

Installing Web Deploy on IIS 7+ with Shared Configuration enabled

We have a web farm environment running IIS 7.5 on Windows 2008R2. We use shared configuration and web storage replication.
We tried to install Web Deploy (v3.5) on one of the servers but receive an error message saying that Web Deploy is not supported with Shared Configuration.
Is it possible to run Web Deploy in a shared configuration environment? If so how?
NOTE: We have figured this out so I am posting the answer here. There is little to no documentation that we could find on this topic so I thought it best to host the info here so the rest of the world can easily find it.
Yes Web Deploy can be installed on an IIS server using Shared Configuration. Here are the step we used to get it to work. Any comments, improvements or considerations are welcome.
Open IIS and select the server node in the tree.
Open the Shared Configuration in the Management section.
Uncheck Shared Configuration select Yes to copy the configuration to the local storage.
Do this to ALL servers that have been sharing configuration as you need to rebuild the configuration once Web Deploy is installed and reattach each server.
Install Web Deploy 3.5 (or newer) via the Web Platform Installer found here:
http://www.microsoft.com/web/gallery/install.aspx?appid=WDeploy
Installing Web Deploy will modify the authentication rules which will cause issues in a Shared Configuration environment so these rules need to be manually updated.
Open IIS and select the server node in the tree.
Open the Management Service Delegation module in the Management section (this module appears once Web Deploy is installed).
Edit the following rules and set the credentials to the a user that has access to the Shared Configuration. Typically a new account can be made that can be granted access to the Shared Configuration storage or use IIS service account. This will enable the web deployment agent to access the shared configuration with a domain account instead of the default local account.
createApp
recycleAPP
appPoolPipeline,appPoolNetFx
backupSettings
Restart the Web Deployment Agent service.
Restart the Web Management service.
Restart the IIS service.
Make sure you have disabled shared configuration on all servers.
Now to re-enable shared configuration, open IIS and select the server node in the tree.
Open the Shared Configuration in the Management section.
If this is the first server you need to export the configuration using the following steps (if not skip to next step):
Click Export Configuration...
Set the Physical Path to the shared configuration location and enter the appropriate encryption key.
You should see a success dialog if the export was successful.
Check Enable shared configuration.
Set the Physical Path to the shared configuration location and click Apply.
Enter the appropriate encryption key and click Ok.
Restart the IIS service.
You will then need to perform these steps again for each server using the shared configuration except you can skip step #14.

Where is web.config file when running Azure web role in Compute Emulator?

I created an empty Azure Cloud Service project, then added a web role there. The role project has a web.config file.
When I hit F5 the role is deployed in Compute emulator. I went into the folder where role binaries are deployed - there's no web.config file there.
What's happening? Is that because I didn't set "copy always" on web.config file? What web.config does my role use?
If your role is configured for Full IIS mode (for those unaware of the difference between Hosted Web Core and Full IIS, see this blog post), the compute emulator should deploy the web role to IIS where it can be viewed in IIS Manager. On my machine (I'm running Azure SDK 1.5), the deployed web role's physical path is my source code directory.
I think web.config is compiled into your assembly as content in your development environment, and is not directly accessible like in staging/prod. You don't need to use Copy Always, if its marked as Content its all you need. You can use Environment.CurrentDirectory to see your web root path.
Even though the preferred way of storing configuration in Windows Azure applications is in the ServiceConfiguration.cscfg file, there are still many cases when you may want to use a normal .NET config file - especially when configuring .NET system components or reusable frameworks. In particular whenever you use Windows Azure diagnostics you need to configure the DiagnosticMonitorTraceListener in a .NET config file.
When you create your web role project, Visual Studio creates a web.config file for your .NET configuration. While your web application can access this information, your RoleEntryPoint code cannot-because it's not running as a part of your web site. As mentioned earlier, it runs under a process called WaIISHost.exe, so it expects its configuration to be in a file called WaIISHost.exe.config. Therefore, if you create a file with this name in the your web project and set the "Copy to Output Directory" property to "Copy Always" you'll find that the RoleEntryPoint can read this happily. This is one of the only cases I can think of where you'll have two .NET configuration files in the same project!
All info is from Azure Team Blog and I have used this solution successfully- http://blogs.msdn.com/b/windowsazure/

Resources