Octopus Deploy and Azure Web Apps
The management of deployments across multiple environments can be a complex and challenging process but Octopus Deploy succeeds in making the deployment process simpler, faster and provides more options and functional capabilities. This automated software deployment tool and release management server is specifically designed to simplify deployment of ASP.NET applications, Windows Services and databases. Over the last four years, it has quickly become one of the most popular .NET deployment servers.
Octopus takes over where the Build/Continuous Integration (CI) server finishes. The build server builds the code and runs tests, while Octopus takes care of deployment. Octopus has deep integration with JetBrains TeamCity and Microsoft Team Foundation Server, and has a command line application for creating and deploying releases that can be integrated with any build server.
Octopus also comes with a comprehensive REST API and a .NET client library; anything that can be done through the UI can be done through the API. Octopus Deploy is used to deploy applications securely to servers that are on-premises or in the cloud. It has a web-based interface, which can be used to modify and execute deployments, and a dashboard that teams can use to view the status of deployments.
Azure Web Apps are the compute resources for hosting a website or web application. These compute resources can be on shared or dedicated virtual machines (VMs), depending on the pricing tier chosen. The application code runs in a managed VM that is isolated from other customers. The code can be in any language or framework that is supported by Azure App Service, such as ASP.NET, Node.js, Java, PHP, or Python. Scripts that use PowerShell and other scripting languages can also be run in a web app.
Azure Web Apps enable developers to easily deploy and scale enterprise grade web applications written in a variety of languages and integrated with a multitude of services without ever worrying about infrastructure management.
The Azure Web Apps built, and how one might want to deploy them, are becoming increasingly complex as the Azure team provides more features to the platform. Octopus deploy has special support for Windows Azure cloud services, Windows Azure web apps and web jobs, and deploying to Linux servers via SSH. Let’s look at how Octopus Deploy helps with the deployment of Azure web apps.
Deployment of Azure Web Apps with Octopus Deploy
To begin with the following are required:
● Visual Studio 2015
● An Azure Subscription
● An Octopus Account
Furthermore, the latest Octopus Server and Tentacles (a lightweight agent service) should be installed in your server. The links below can be followed to setup the server environment.
Octopus installation guide
Octopus Key Concepts
Step 1 –Solution Configurations:
Whenever you want to deploy applications with Octopus, you’ll need to package them into NuGet packages. Install OctopackNuget package to your WebApp project.