VSTS and Azure use - azure

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

Related

How do you create an installer for Azure Web Apps / Azure Websites

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

Continuous deployment from Visual Studio Team Services to Azure App Service

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.

Azure Functions deployment source Visual Studio Team Service project

I am trying to link the Azure Functions deployment to integrate with Visual Studio Team Service however once I select VSTS as the source, it doesn't show any other projects.
I have other web apps in my account which feed from a VSTS project.
The reason this is important to us is because of the workflow. We currently use AWS API Gateway + Lambda for our webhooks however it doesn't fit our development/deployment workflow.
When you select "Visual Studio Team Services" as deployment source from New Azure Portal, it is using Kudu service which is designed for Git version control. So it will only show the projects with "Git" repositories.
Kudu is the engine behind git deployments in Azure Web Sites. It can
also run outside of Azure.
If you want to deploy the TFVC project, try with Azure Classic Portal. You can refer to this article for details: Continuous delivery to Azure using Visual Studio Team Services

Release Management Azure Website

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.

Visual Studio Online, multiple Cloud projects, Continuous Integration

I have a Visual Studio 2013 solution with 3 cloud service projects (1 Web Role, 2 Worker Roles) and a set of nUnit tests hosted in Visual Studio Online.
Through Azure portal, I've setup a continuous integration build that builds and deploys my solution on checkin. Azure, however asked me for a single Cloud Service to deploy solution into (although my project contains 3 of them) and obviously, the build only deploys one of the cloud projects (presumably the first one it finds). How can I make it deploy all three?
I'd rather not create three different builds.
From my experience, you cannot deploy all of your azure projects within your solution to azure at the same time using the VSO CI builds. If you look at your CI build definition under process you'll see that you can only specify one cloud service name to deploy to. We ended up having to create one solution, with one azure project, and one CI build per cloud service. We use the staging environments as a temporary deployment destination until all of our services are built/deployed, then swap them all at the same time to achieve a somewhat seamless/instant update.
Hope this helps.
I was able to get this to work with the new VSO VBuild Next System in TFS 2015.
You are able to build a specific *.ccproj cloud service project and from there use a specific task to publish to azure.
This allows me to have multiple cloud services and multiple web roles in the same solution.
You should also be able to build multiple cloud service projects and setup multiple publish tasks, all from the same build definition.
From MS...
We've built a brand new scriptable build system that's web-based and
cross-platform. We believe all new and most existing customers should
use it instead of the XAML build system.
More info:
https://msdn.microsoft.com/Library/vs/alm/Build/overview
Here is a view of my build tasks..

Resources