How can I publish to an Azure Website (NO VM!) using Microsoft Release Management.
At the moment, ms release management only seems to support deploying to Azure VM's. I like MS Release Management system as it lets me control my deployment variables across multiple deployment stages.
Basically, this is not a supported scenario out of the box.
Your best bet here is to use an agent-based release template with a "springboard" server to manage the release, and custom PowerShell scripts that use the Azure SDK to interact with Azure. One of my colleagues did the leg work to figure it out a few months ago, and has a few comprehensive blog posts describing how he accomplished deploying an Azure Web Application via RM.
Visual Studio Release Management now offers built-in steps to manage Azure App Services. In a Release Management process add the Azure App Service Deploy step, and configure for your website. Note that this step requires your site to be published as a .zip file.
In addition to the deploy step, it is best practice to deploy to an inactive slot, or stop / start the site using the Azure App Service Manage steps in Release Management.
For now, you should take a look at the new build system, it has an out of box task to deploy a package to azure web app.
Related
I just need to deploy a aspnet core app into a Linux Service Plan.
I tried pre-creating the Linux service plan (into it's own Resource Group) from portal, and then starting the publish profile creating process in VS, but it does not show the linux Resource Group or Service Plan.
I can only find references to doing this from a Linux machine using Git-integration.
Thanks in advance,
Jose Parra
Unfortunately, for now we cannot deploy web app to Azure linux service plan through VS. It's by design that we can only see windows service plan in VS publish process.
However there are alternatives for us to choose.
FTP-- Upload pre-compiled files(under ~/bin/Debug(Release) folder) to website. Here's the reference.
Local Git--You may have read this tutorial. Note that Git bash can also be used in Windows.
GitHub--Follow this reference to connect VS with your GitHub, then config Deployment option in portal. After that your code will be deployed automatically once pushed to GitHub.
There are some other deployment ways like CI/CD aka Continuous Delivery in portal and another source control tool BitBucket. I recommend you to use GitHub as it's simple to operate in VS after configuration.
I am a software vendor with a .net web solution that I want customers to be able to easily install / deploy into Azure Web Web Apps / Azure Websites along with a Sql Azure backend. I can't find any installer tool that supports this scenario. I have also looked into the Azure Marketplace but it seems the only option there is to create VM images. I want my customer's to avoid having to deploy to an manage VMs and adopt the IaaS model. Instead they should be able to install to Azure Web Apps with a package that copies all the web solution files and installs and connects the Azure Sql. Is this possible or will I have to manually deploy and configure Azure solution for each customer?
You can use the VS Marketplace to do the deployment. What you need is to create an ARM template. There is a huge number of samples here: https://github.com/Azure/azure-quickstart-templates - you can pick one of the web app ones - for example: https://azure.microsoft.com/en-us/resources/templates/201-web-app-sql-database/ - has a SQL database linked to a web app.
The ARM template allows you to do a "no-hands" deployment of the resources and know when they are ready for further action. You can also deploy from any of the supported continuous deployment options (see the template with a GitHub connection as an example) or you can use ftp/msdeploy after the deployment is successful.
This is a good tutorial https://learn.microsoft.com/en-us/azure/azure-resource-manager/vs-azure-tools-resource-groups-deployment-projects-create-deploy
This is the github example mentioned in previous answer
https://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-github-deploy
I am trying to understand the relationship between VSTS and AZURE.
I am planning to deploy some apps in Azure and wanted to know if there is any way within Azure that we can maintain releases and builds? or do we have to use VSTS?
EDIT
I currently have everything in on-premise TFS and am using on-premise MS Release Management for managing my releases (which are a bit complicated).
Now Azure does offer continuous deployment using App Service integration but I feel that might be more apt for simpler applications with relatively simple release plans (Is this assumption correct?). Exploring Azure, I also see Octopus deploy (in the compute section). Does that mean that we can manage deployment inside of Azure without using VSTS? (I currently dont care about work items, backlogs and process inside of TFS)
Regarding the relationship between VSTS and Azure.
Want to authenticate users and control access with Azure AD Team Services: Access with Azure Active Directory (Azure AD)
Set up billing when you need more users, pipelines etc… Set up billing to pay for users, pipelines, and cloud-based load testing in Visual Studio Team Services
Regarding deploy apps to azure, there are many ways, for example:
Continuous Deployment to Azure App Service, the source code could be in VSTS, Git, Bitbucket etc…
VSTS build and release, the source code can be in VSTS, GitHub, External Git and Subversion: Build definition repository
Some tools, for example Visual Studio: Using Visual Studio 2015 and Deploying your first web app to your FREE Azure Subscription
I'm trying to automatically deploy from Team Services (was Visual Studio Online) after a successful build a C# program to an azure app service without success.
I can only do it to a cloud service (classic) rather app service.
I've seen that I could plug Team Services directly to the app service with "deployment source" (I did tried so far because both tenant, Team Services & Azure one are different and requires some effort)
but wouldn't it break the normal release / test process from Team Services?
I can only find little information over internet regarding these topics ...
Any help would be appreciated.
You can also add a FTP Upload task in your build definition to publish the output to Azure App Service via FTP Method.
To publish to an Azure App Service, you need to use either of the following Agent tasks:
Here is a walkthrough: https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnet4-to-azure
When making a new build definition, it is easiest to choose the Deployment -> Azure WebApp option.
I am currently looking into using ARM to deploy new environments of our Azure Components. We have a lot of web apis that are deployed to Cloud Services, since we need access to the underlying OS to get CPU usage for App Dynamics metrics. When reading through ARM, it seems as if they are deprecating Cloud Services, but I have some confusion about what is replacing it. I see that you can create Web Apps using this and use Publish from Visual Studio to deploy the app it, but I see no options for Cloud Services. So what is the preferred method to do this? Creating a VM and deploying using Web Deploy? What about VM scaling. Any help would be greatly appreciated.
My company is in the process of moving a legacy app to Azure using Cloud Services and we were concerned about the future of Cloud Services. Since we are somewhat early into the project and would like to use the ARM model we thought it would be easier to make a move now if we knew the future. After a few conversations with project leads at Microsoft on this topic we were only told that we should continue working with Cloud Services as they would continue to be supported.
It's quite clear that the move to ARM was not well thought out in terms of direction and consequences of existing services that many people are already using. Reading between the lines I would say that there is no plan to convert Cloud Services from the ASM to ARM model.
If application insights (https://azure.microsoft.com/en-us/services/application-insights/) are sufficient for your monitoring needs, then you can use web apps. These can be deployed via ARM, and can automatically deploy from a git repo or web deploy package. See this example:
https://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-github-deploy
The issue here that you may be trying to do operations which are restricted by the web app sandbox.
Failing that, you can use an ARM template to set up a VM and then invoke a custom site extension which will run powershell code to do further provisioning. This powershell code can fetch any package that you may want to install. See this ARM template for example: https://github.com/Azure/azure-quickstart-templates/tree/9ad72f1f5f0008c14311be79eee036b871712394/201-list-storage-keys-windows-vm
Once the VM is created you would be able to modify it and scale as needed.